Code Monkey home page Code Monkey logo

event_manager's Introduction

Block

start do

end

start do |i|

end

(1..10).each do |n|
puts n
end

resources :events do
resource :location
end

Rails::Application.configure do |config|
config.time_zone = 'Asia/Taipei'
end

<% @attendees.each do |attendee| %>
<%= attendee.name %>
<% end %>

Variable

variable
method
@instance_variable

@i # => nil
@i = 10
@i # => 10

variable # => undefined local variable or method `variable'`
method   # => undefined local variable or method `method`

Error Messages

@event.name # => "Undefined method `name` for nil:NilClass"
# Routes => Controller => View
# Columns
# has_many, belongs_to

Object Attribute

class Foo
attr_accessor :bar

               def initialize

               end

               def set_bar
               @bar = "foobar"
               end
               end

               foo = Foo.new
               foo.bar # => nil
               foo.set_bar
               foo.bar # => "foobar"

# =======

def setup_event(event)
  event.build_location unless event.location
  event
  end

Hash as Attribute

def render_hash(hash)
puts hash[:foo]
puts hash[:bar]
end

render_hash({:foo => "foobar", :bar => "foobar"})

render_hash(:foo => "foobar", :bar => "foobar")

render_hash(foo: "foobar", bar: "foobar")

render_hash foo: "foobar", bar: "foobar"

member routes

  1. routes.rb
resources :events do
  member do
    post :join
    post :withdraw
  end
end
  1. app/views/events/show.html.erb
<%= button_to "Join", join_event_path(@event) %>
<%= button_to "Withdraw", withdraw_event_path(@event) %>
  1. CLI
rails g model user username:string
rails g model membership event_id:integer user_id:integer
rake db:migrate
rails c
User.create(:username => "John")
  1. user.rb
has_many :events, through: :memberships
has_many :memberships
  1. membership.rb
belongs_to :event
belongs_to :user
  1. event.rb
has_many :users, through: :memberships
has_many :memberships
  1. events_controller.rb
def current_user
  User.first
end
  1. events_controller.rb
def join
  @event = Event.find(params[:id])
  Membership.find_or_create_by(:event => @event, :user => current_user)
  redirect_to :back
end

def withdraw
  @event = Event.find(params[:id])
  @membership = Membership.find_by(:event => @event, :user => current_user)
  @membership.destroy if @membership
  redirect_to :back
end
  1. app/views/events/show.html.erb
<% @event.users.each do |user| %>
  <p><%= user.username %></p>
<% end %>

event_manager's People

Contributors

adlerhsieh avatar

Watchers

James Cloos avatar Damon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.