2012-04-19 45 views
1

我已經遷移從Rails的2.3.5我的應用程序到Rails 3Rails 3個的驗證工作不

我在模型驗證一樣

validates :name, :presence => {:message => "Please enter the name"} 

我得到的錯誤。該錯誤指向我添加驗證的行。錯誤日誌如下

activemodel (3.2.2) lib/active_model/validations/with.rb:85:in `block in validates_with' 
activemodel (3.2.2) lib/active_model/validations/with.rb:83:in `each' 
activemodel (3.2.2) lib/active_model/validations/with.rb:83:in `validates_with' 
activemodel (3.2.2) lib/active_model/validations/validates.rb:99:in `block in validates' 
activemodel (3.2.2) lib/active_model/validations/validates.rb:90:in `each' 
activemodel (3.2.2) lib/active_model/validations/validates.rb:90:in `validates' 
app/models/business.rb:19:in `<class:Business>' 
app/models/business.rb:1:in `<top (required)>' 

請幫我一把。

+0

也許這個鏈接可以幫助你:http://stackoverflow.com/questions/5078990/validates-presence-vs-validates-presence -of-using-rails-3 – Bjoernsen 2012-04-19 06:24:15

+0

我試過了,但沒有工作。 – 2012-04-19 06:28:55

+0

解決了這個問題。我在lib模塊中定義了實際存在於驗證模塊中的方法設置 – 2012-04-19 09:44:25

回答

0

試試這個:

validates :name, :presence => true, :message => "Please enter the name" 
+0

是的,我嘗試使用 驗證:name,:presence => {:message =>「至少選擇一個選項」} 但它不起作用。 – 2012-04-19 06:26:48

+0

你有沒有試過上面的代碼 – Mukesh 2012-04-19 06:28:48

+0

是的,我嘗試過。 :( – 2012-04-19 06:30:26

0

試試這個:

validates_presence_of :name, :message => "Please enter the name" 
+0

試過但沒有工作。 – 2012-04-19 06:35:57