사용자가 만든 Follow/Unfollow 버튼과 유사하게 사용자가 만든 이벤트에 Join/Unjoin 버튼을 추가하려고합니다. 0x007f9dfaf9d978>Many many 연관이있는 NameError
쇼 :
나는 #은 # < #에 대한 정의되지 않은 지역 변수 또는 메소드`이벤트 '를 보여 #이 이벤트에
나가서 설명하자면 NameError을 보여시로 @rsvps을 정의 할 모르겠어요 .html.erb
<%= link_to "Join Event", rsvps_path(:event_id => event), :method => :post %>
events_controller.rb
def show
@event = Event.find(params[:id])
@user = current_user
#@rsvp = ???? something here ????
end
,
rsvps_controller.rb 여기
class RsvpsController < ApplicationController
before_filter :signed_in_user
def create
@rsvp = current_user.rsvps.build(:event_id => params[:event_id])
if @rsvp.save
flash[:notice] = "Joined event."
redirect_to root_url
else
flash[:error] = "Unable to join event."
redirect_to root_url
end
end
def destroy
@rsvp = current_user.rsvps.find(params[:id])
@rsvp.destroy
flash[:notice] = "Unjoin Event."
redirect_to current_user
end
end
는 모델이다
rsvp.rb
class Rsvp < ActiveRecord::Base
attr_accessible :event_id, :user_id
belongs_to :user
belongs_to :event
end
user.rb
has_many :rsvps
has_many :events, through: :rsvps, dependent: :destroy
event.rb
belongs_to :user
has_many :rsvps
has_many :users, through: :rsvps, dependent: :destroy
내가 생각했던 것보다 훨씬 간단한 hmmm. 그래서 그냥 사용자가 이벤트에 가입하거나 탈퇴 할 수 있도록 rsvps에 대한 메소드를 작성해야합니까? 죄송합니다. 레일스에 기본 질문이 있다면 – pmanning
입니다.'events_controller'에 이미'update' 메소드가 있어야합니다. 그래서 사용자에게 연결/연결 해제 할 데이터를'PUT' 할 수 있습니다. 잠시 후에 내 대답을 업데이트하겠습니다. –
아, 한 번 더. 나는 처음부터 올바른 것을 이해하지 못했다고 생각한다. 이벤트에는 둘 이상의 사용자가있을 수 있습니다. 그렇다면 ** 가입 ** 모델이 필요하며 내 대답은 정말 싫다. –