我有一个带有模型验证的Rails(3.1)应用程序,当触发时,将模型和字段名称放在消息之前,例如:
个人资料图片个人资料图片内容类型个人资料图片仅允许使用jpeg,gif和png文件
有没有办法避免这种情况,所以它写着:
model.rb验证:仅允许jpeg,gif和png文件用于个人资料图片
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 %>
答案 0 :(得分:0)
我的预感是msg
实际上不是消息而是整个错误散列,因此调用<%= msg %>
实际上将整个散列转换为字符串,包括键。您可以使用<%= msg.class %>
确认这一点。
假设您发布的视图代码是部分代码,那么查看包含partial的视图会很有帮助。如果它不是部分的,那么查看周围的代码会很有用。