2012-05-24 106 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