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 に答える