0

我有一个带有模型验证的 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 %>
4

1 回答 1

0

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

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

于 2012-05-24T21:02:52.577 回答