我有一个使用低级validate_on_create
方法的模型,基于一个简单的条件我正在向字段添加错误消息,例如
self.errors.add(:expiry_date, "is too soon") if self.expiry_date && self.expiry_date < Date.today + 1.week
在失败保存后渲染视图'new'时,error_messages_for
没有像我期望的那样拾取字段。错误显示在错误列表中,表明验证工作正常。
有人知道为什么会这样吗?我猜form.error_messages
没有查看对象上的所有错误?
添加了请求的代码:
<% form_for([:solicitor, @policy]) do |form| %>
<%= form.error_messages :message => "See the list of reasons below to find out why not:", :header_message => "Sorry but we cannot yet create your policy based on the information you've provided." %>
<%= render :partial => 'form', :locals => {:form => form} %>
<% end %>
答案 0 :(得分:4)
你的问题很可能是:
但是,如果没有发布完整的控制器/视图,我基本上只是在猜测。
答案 1 :(得分:0)
问题是部分形式的简单拼写错误。我应该发布所有有问题的代码,因为我确信如果我做BJ Clark或其他人会轻易发现我犯的愚蠢错误
经验教训!