2012-05-24 88 views
0

我有一个模型验证的是,当被触发时,提出该模型和字段名的消息之前,例如滑轨(3.1)的应用程序:Rails中更改错误消息模型

资料图像轮廓图像内容类型只有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 %> 
+0

请向我们展示显示此错误的视图的代码。 –

+0

我加了。谢谢 – yellowreign

回答

0

我的预感是msg实际上不是消息,而是整个错误散列,所以调用<%= msg %>实际上会将整个散列转换为包含键的字符串。您可以用<%= msg.class %>来确认。

假设您发布的视图代码是一个部分,它将有助于查看包含该部分的视图。如果它不是一个部分,看到周围的代码会很有用。

+0

对不起,我现在添加了整个部分 – yellowreign

+0

哦,所以你在'flash'中传递错误。它是如何在您的控制器中设置的?你确认msg是什么类型的对象吗? 'msg.inspect'也很有用。 –

+0

对不起,我正在看不正确的部分(修正了我的描述)。我发现当我把你提到的命令。与那些,它返回:ActiveModel :: Errors和# yellowreign