37

次のモデル フィールドの検証があります。

validates_uniqueness_of :acronym, :scope => [:group_id], :case_sensitive => false

問題は、このフィールドがオプションであり、空/nil 値が既に使用されている頭字語として返されることです。値が提供された場合にのみ頭字語が一意であることを検証したい..実際の値がある場合にのみ行われるようにこの検証を更新する方法はありますか..nil/空ではありませんか?

ありがとう

4

1 に答える 1

69

はい、オプションのフィールドの検証に渡すことができる2つの可能なオプションがあります。:allow_blankまたは、フィールド:allow_nilの検証をそれぞれスキップします。検証を次のように変更すると、必要な動作が得られるはずです。blanknil

validates_uniqueness_of :acronym, :allow_blank => true, :scope => [:group_id], :case_sensitive => false
于 2012-04-15T23:59:00.310 に答える