2009-08-01 236 views
1

我想要做這樣的事情:Rails驗證消息錯誤?

validates_presence_of :name, :message => custom_message 

def custom_message 
    "Custom Message" 
end 

但是當我嘗試它,我得到「未定義的局部變量或方法自定義方法」

怎麼了呢?

回答

3

想我想通了。如果您直接使用符號而不是方法。

如:消息=>:自定義信息

0

試試這個,,如果我不是錯

before_save:自定義信息 DEF自定義信息 self.custom_message = 「自定義消息」,如果公佈的==真 結束 結束

+0

嗯不知道爲什麼我會想這樣做...... 只是想知道爲什麼只會驗證方法犯規沒有看到當地的方法 – Cameron 2009-08-01 14:29:52

0

您是否嘗試過把定義在validates_presence_of行之前的custom_message? validates_presence_of是一個類方法,當它被評估時,Ruby還沒有看到它下面的定義。

+0

是試過了,沒有喜悅。 – Cameron 2009-08-01 14:26:53

1

我得到它的工作是這樣的:

def self.custom_message 
    "Custom Message" 
end 

validates_presence_of :name, message: custom_message