23
我有幾個簡單的模型被像這樣有關:驗證:存在VS使用validates_presence_of軌道3
模型
class Task < ActiveRecord::Base
belongs_to :user
validates :name, :presence => true, :message => 'Name cannot be blank, Task not saved'
end
class User < ActiveRecord::Base
has_many :tasks
end
觀點已經像這樣在這一個電話: user.tasks
< - 然後,我通過任務循環
的問題:
在任務模式 -
當我使用:
validates :name, :presence => true , :message => 'Name cannot be blank, Task not saved'
我得到一個500錯誤:
ActionView::Template::Error (uninitialized constant User::Task):
NameError in View file
當我使用:
validates_presence_of :name
一切正常。
我認爲兩者都驗證了上述方法,其中......問題與關聯有關,以及驗證如何與相關模型綁定。我有一種預感,事情正在發生,但這只是一種預感。
任何幫助將不勝感激。非常感謝。
非常感謝!這就是訣竅! – RidingRails
我對此有一個關於國際化的問題。如果Rails提供字段名稱,那麼這個錯誤消息如何完全本地化?例如,在西班牙語中,'name'應該是'nombre'。有什麼辦法可以完全抑制默認信息嗎? – jn29098
我知道這是一箇舊帖子,但是應該在哪裏顯示這個錯誤消息,並且在提交表單後顯示,例如?謝謝 – Richlewis