我在数据库中保存用户对象时遇到问题。我在模型中有两个字段(电子邮件和密码),在数据库本身中不允许为空。另外,我在模型中添加了验证,如
validates_presence_of :email, :message => "must be provided"
validates_presence_of :password, :message => "must be provided"
现在,当我尝试从控制器的create方法保存模型时,它会使数据无效并再次呈现新操作。但是,我有每个字段的多个错误消息
Email can't be blank
Email must be provided
Password can't be blank
Password must be provided
我不需要同一个错误消息。我该怎样消除这个?
答案 0 :(得分:1)
看起来你在两个不同的地方进行验证。你必须弄清楚这些地方......
如果您对某个字段进行了两次不同的验证,并希望一次在某个字段上显示一条错误消息,则可以执行以下操作,
validates_presence_of :email, :message => "must be provided"
validates_uniqueness_of :email, :message => "must be unique",
:if => lambda { |a| a.errors.on(:email).blank? }
答案 1 :(得分:0)
看起来你两次渲染错误。检查所有视图,它们也可以继承。