8

ねえ、モデル foo がありhas_one :barます。そしてバーbelongs_to :foo。2 つのバーが同じ foo に属さないように has_one を拡張する方法があるかどうか疑問に思っていました。has_one のドキュメントを見たところ、指定できる :uniq パラメータがないようです。これを達成するためにカスタム検証を作成する必要がありますか? それとももっと簡単な方法がありますか?

ありがとう。

4

3 に答える 3

17

カスタム検証は必要ありません。特定の foo に対して bar の一意性を強制するだけです

class Bar < ActiveRecord::Base
  belongs_to :foo
  validates_uniqueness_of :foo_id
end
于 2011-06-07T17:33:50.037 に答える
0

Foo の 2 つの異なるレコードは、他の関連するレコードについて何も知らないため、独自の検証を作成する必要があると思います (Bar)

于 2011-06-07T16:57:51.677 に答える