从Rails视图中删除验证错误消息

时间:2013-10-09 05:47:27

标签: ruby-on-rails forms erb

这里的问题相当简单。

我在我的图标模型validates_presence_of :icon中进行了验证。

当我尝试上传空图标时,我的视图中会自动显示红色消息“不能为空”。

问题是我正在使用标准块自行输出这些消息:

<% if @icon.errors.any? %>
  <% @icon.errors.full_messages.each do |msg| %>
    <%= msg %></li>
  <% end %>
<% end %>

我不希望这两个错误消息都显示出来。如何消除自动生成的错误消息?

编辑:这是我的new.html.erb文件,其中正在呈现消息。

<h1>New Icon</h1>
<%= form_for @icon do |f| %>
  <% if @icon.errors.any? %>
    <% @icon.errors.full_messages.each do |msg| %>
      <%= msg %>
    <% end %>
  <% end %>
  <%= f.label :icon %>
  <%= f.file_field :icon %>
  <%= f.submit%>
<% end %>

只打印了一个msg,但视图显示的信息已打印两次。

1 个答案:

答案 0 :(得分:0)

这只是一个疯狂的猜测,但我认为,你以某种方式设法两次验证相同的东西。 rails对他的验证并不是很聪明,所以把它放在你的模型中:

validates_presence_of :icon
validates_presence_of :icon

将生成2条相同的错误消息