0

特別な検証が必要なフォームがあります。Fund_name と呼ばれるフィールドと company_name と呼ばれるフィールドがあります (それぞれ、会社が多くの資金を持つことができる資金と会社のテーブルから)。会社情報とファンド情報は、単一のフォームでユーザーから取得されます (ネストされた属性を使用)

要件は、会社 (またはファンド) の名前が、会社名とファンド名の間で一意である必要があるということです。クライアント側の検証プラグイン用のカスタム バリデーターとリモート バリデーターを作成しました。

問題は、現在の会社を検証せず、独自性を確保するための資金を提供しないことです。最初にフィールドで isValid を呼び出しながら、フィールドをぼかしでオーバーライドできましたが、上記のプラグインで対応できるようにしたかったのです。

最善の方法に関する提案はありますか?

4

2 に答える 2

1

試す:

validates :fund_name, presence: true, uniqueness: { scope: :company_name }

詳細はこちら

于 2014-07-03T07:14:40.030 に答える
0

これはあなたを助けるかもしれません:あなたのモデルに書いてください

validates :name,presence: true, :uniqueness => {
                          :case_sensitive => false,
                          scope: :company_name
                        }
于 2014-07-03T07:13:30.120 に答える