検証結合値:3レール
質問
でRailsは、あなたがこのようなユニークな組み合わせ値を持っていることを確認するために検証を使用することができますから2.xます:
validates_uniqueness_of :husband, :scope => :wife
それはこのようになり、対応する移行には、
add_index :family, [:husband, :wife], :unique => true
このは夫/妻の組み合わせがデータベース内で一意であることを確認します。さて、3レール内での検証構文が変更とスコープ属性がなくなっているようです。それは、今のように見えます:
validates :husband, :presence => true
私はRailsの3の組み合わせの検証を達成することができますどのように任意のアイデア? Railsの2.xの検証のRailsで、まだ仕事3
?私はまだ最初の例を使用することができますが、それはそう「古い」に見える、より良い方法があるので、解決
私と一緒に
ベア。 ActiveModelで検証しメソッドが動作する方法は、バリデータを探すことです。
:presence => true
のための PresenceValidator
のルックスとオプション渡し:バリデータの初期化にtrue
を
私はしたいと思います。
validates :husband, :presence => true, :uniqueness => {:scope => :wife}
(一意バリデータは実際のActiveRecordの一部ではなく、ActiveModelである。開発者は、このセットアップを設定する方法を本当に面白いです。それは非常にエレガントです。)
所属していません StackOverflow