2010-11-28 11 views
1

私はいくつかの情報が尋ねられるウェブページを持っています。しかし、いくつかの値は空白にすることができます。しかし、価値が既に取られていると言えば、私はいくつかの空白の価値を持つ処方箋を2回以上保存すると、これは私が使用して以来、これは正常です:validates_uniqueness_ofデータベースに空白の値を保存しないでください

私の質問です:私は値を保存すると、この問題は解決されますか?はいの場合、値をnilとして保存します。または他の解決策は何ですか?

ありがとうございます。

答えて

1

ドキュメントにあります。

validates_uniqueness_of :my_value, :allow_blank => true 
+0

イエスの種類where attrib is nullであろう見つけることということです。どうもありがとうございました。 – Goueg83460

2

私は個人的には万力が行ったように:allow_blankと検証を使用してvalue.blank場合はnilに値を設定しbefore_validationコールバックを持っていないだろうか?

ような何か:このため

private 

def strip_spaces 
    attrib = nil if attrib.blank? 
end 

推論は、クエリが値が設定されていないところ、それらが代わりに働くwhere trim(attrib) = '' or attrib is null

関連する問題