在Rails模型中更改错误消息

时间:2012-05-24 20:39:56

标签: ruby-on-rails-3 paperclip paperclip-validation

我有一个带有模型验证的Rails(3.1)应用程序,当触发时,将模型和字段名称放在消息之前,例如:

  

个人资料图片个人资料图片内容类型个人资料图片仅允许使用jpeg,gif和png文件

有没有办法避免这种情况,所以它写着:

  

仅允许jpeg,gif和png文件用于个人资料图片

model.rb验证:
validates_attachment_content_type :profile_image,
  :content_type => ['image/jpeg', 'image/png', 'image/gif'],
  :message      => "Only jpeg, gif and png files are allowed for profile pictures"

错误在我的布局中显示为此代码的一部分:

<% if object.errors.any? %>
  <div class="alert alert-message error" data-alert="alert">
    <a class="close" data-dismiss="alert">×</a>
    <ul>
      <% object.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

1 个答案:

答案 0 :(得分:0)

我的预感是msg实际上不是消息而是整个错误散列,因此调用<%= msg %>实际上将整个散列转换为字符串,包括键。您可以使用<%= msg.class %>确认这一点。

假设您发布的视图代码是部分代码,那么查看包含partial的视图会很有帮助。如果它不是部分的,那么查看周围的代码会很有用。