2009-08-01 18 views
1

私はこのような何かやりたい:Railsの検証メッセージのエラー?

validates_presence_of :name, :message => custom_message 

def custom_message 
    "Custom Message" 
end 

をしかし、私はそれをしようとしたとき、私はそれで最高の「カスタムメソッドの未定義のローカル変数やメソッド」

いただきましたを取得しますか?

答えて

3

私はそれを考え出しました。メソッドの代わりにシンボルを直接使用する場合。

例:メッセージ=>:custom_message

0

イムはない間違った

before_save場合,,これを試してみてください。==真 エンド エンド

+0

うーん、私はそれをしたいと思う理由はわからない... だけたくは知っているが、なぜ検証し、メソッドのdoesntローカルメソッドを参照してください – Cameron

0

を公開した場合custom_message DEF self.custom_message = "カスタムメッセージ" をcustom_messageあなたは定義を入れてみましたのvalidates_presence_ofの前にcustom_messageの? validates_presence_ofはクラスメソッドであり、評価されるとRubyはその下の定義をまだ見ていません。

+0

はい、それは喜びを試してみました。 – Cameron

1

私はそれがこのように働いて得た:

def self.custom_message 
    "Custom Message" 
end 

validates_presence_of :name, message: custom_message 
関連する問題