这很容易,但是在框架/语言之间来回切换让我怀疑自己。has_many :through
试图为Rails中的关系制定路线。
#User
has_many :reservations, :dependent => :destroy
has_many :events, :through => :reservations
#Reservation
belongs_to :user
belongs_to :event
#Event
has_many :reservations, :dependent => :destroy
has_many :attendees, through => :reservations, :source => :user
我想要从用户模型中快速构建/创建新预订到特定事件的路线(反之亦然),但不知道如何去创建它们。这看起来很奇怪:
resources :users do
resources :reservations, only: [:new, :create, :destroy]
end
resources :events do
resources :reservations, only: [:new, :create, :destroy]
end
无论如何,只是寻找验证,或者可能是另一种处理方式。理想情况下,用户可以单击的事件旁边的页面上有一个链接,并且(通过 ajax 或页面重新加载)他们会进行“预订”。
出于同样的原因,我需要路由来查看每个对给定事件有预订的用户。并且为给定用户保留的每个事件。