1

这里相当简单的问题。

我在我的图标模型中进行了验证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正在打印,但视图显示消息打印了两次。

4

1 回答 1

0

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

validates_presence_of :icon
validates_presence_of :icon

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

于 2013-10-09T07:22:50.890 回答