これは非常に簡単ですが、フレームワーク/言語を切り替えると、自分自身を疑うようになります。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 またはページのリロードのいずれかを介して) 「予約」を行うことができます。
同様に、特定のイベントを予約しているすべてのユーザーを確認するためのルートが必要です。そして、特定のユーザーが予約されているすべてのイベント。