2011年7月12日火曜日

Railsのバリデーションチェック

モデルに書くバリデーションチェックのifオプションの記述方法では、
下記のような2通りの書き方ができます。
どちらも同じ動作をします。

①Procオブジェクトを利用
 
validates_numericality_of :value, :only_integer => true, :if => Proc.new { |p| p.name == "xxx"}
 

②メソッド切り出し
この時のメソッド名には「?」マークをつけるのは決まりのようです。
 
validates_numericality_of :value, :only_integer => true, :if => :is_num?

def is_num?
"xxx" == name
end
 

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。