has_n
特定のRailsに関連付けをどのように実装しn
ますか?たとえば、ラグビーチームとしましょう。15人のプレイヤーがいます。として実装し、has_many
保存する前にチェックインして15人のプレーヤーがいることを確認しますか、それとも15人として実装しbelongs_to
ますか?この場合、順序が重要であることに注意してください。
質問する
98 次
2 に答える
1
注文のリクエストを反映するように編集されました...
プレーヤーテーブルにsort_keyを追加する必要があります。整数を使用できますが、floatの方が常に柔軟な選択です。次に、その:order => "sort_key"
フレーズを使用します。
class Team < ActiveRecord::Base
has_many :players, :order => "sort_key", :inverse_of => :team
end
class Player < ActiveRecord::Base
belongs_to :team, :inverse_of => :players
validate :validate_players_count, :on => :create
def validate_players_count
if team.players.size > 15
errors[:base] << "a team can only have 15 players"
end
end
end
于 2012-05-15T04:12:16.383 に答える
0
has_many
私はそれを作り、新しいプレーヤーを追加するときにプレーヤーの数を検証することを好みます。
それが1対多の関係を築く正しい方法だと思います。
于 2012-05-15T03:41:05.237 に答える