類user
和event
有has many: through
的關係。如何在Rails中創建連接表記錄,有很多:通過關係
class User < ActiveRecord::Base
has_many :user_events
has_many :events, :through => :user_events
end
class Event < ActiveRecord::Base
has_many :user_events
has_many :users, :through => :user_events
end
在我的事件控制器我想創造User_events的紀錄,這是我現在做下列要求:
def create
@event = Event.new(event_params)
@user = User.find(current_user.id)
@user_events = User.user_events.create
@user_events.user_id = @user.id
@user_events.event_id = @event.id
end
這種感覺沉重,但這樣我想有一個更好的,更「Rails方式」這樣做。什麼是正確的方法?
對於一個擴展的響應,請參閱'https:// stackoverflow.com/questions/7297338/how-to-add-records-to-have-many-through-association-in-rails#answer-18114492' – Newben