私はほぼ 1 年間 Rails を使用してきましたが、いつ多対多の関連付けを使用すればよいかわからない状況に陥っています。これが私の現状です。
player、season、およびsportがあります。
player.rb
has_many :seasons, :dependent => :destroy
シーズン.rb
belongs_to :player
has_many :sports, :dependent => :destroy
スポーツ.rb
belongs_to :season
プレーヤーにはhas_many :seasons があり、シーズンはプレーヤーに属します。次に、シーズンに属するスポーツがあり、シーズンには has_many :sports があります。
私が望むのは、プレーヤーが新しいシーズン (例: 2011-2012、2012-2013、2014-2015 など) を追加し、シーズンが作成された後、プレーヤーが現在プレイしているスポーツを追加することですシーズン。この時点で非常に混乱しています。現在の方法では、3 レベルの深さのネストされたリソースを使用する必要があるためです。
ルート.rb
resources players do
resources :seasons do
resources :sports
end
end
3 レベルの深くネストされたリソースを使用する場合、2 つのオプションしか受け付けないフォームにプレーヤーを追加する必要があります。
_form.html.erb
<%= form_for([@season, @sport]) do |f| %>
これに多対多の関連付けを使用しますか、またはこれにどのようにアプローチする必要がありますか?