rails 2.3.5のvalidates_uniqueness_of
よくわからないんだけど、
validates_uniqueness_of
をすると、
http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M002167
の
comparison_operator = "#{connection.case_sensitive_equality_operator} ?"
で、
= BINARY ?
が付与される。
http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html#M002011
で、そうすると日本語の比較ができなくなって、期待する動作にならないんだけど、どうすれば良いんだろう?
とりあえず、
if configuration[:binary] then
comparison_operator = "#{connection.case_sensitive_equality_operator} ?"
else
comparison_operator = "= ?"
end
| 固定リンク
「ruby」カテゴリの記事
- Railsでmemcachedとnamed_scopeを組み合わせて使ってハマった。(2011.02.16)
- puppetでCould not resolve 172.*.*.*: no name for *.*.*.*みたいなエラーが出る(2010.04.08)
- Pupptで「notice: Run of Puppet configuration client already in progress; skipping」と表示されて実行できない(2010.04.01)
- rails 2.3.5のvalidates_uniqueness_of(2010.03.02)
- puppetでのアクセス管理(2010.02.08)
コメント