1

私はこのような単純なモデルクラスを持っています:

class Task < ActiveRecord::Base
  attr_accessible :name, :description, :image

  mount_uploader :image, ImageUploader #using CarrierWave for image uploading

  validates_presence_of :name, :image
end

そしてこのような形:

<%= simple_form_for @task, :html => { :multipart => true } do |f| %>
  <%= f.input :name %>
  <%= f.input :description %>
  <%= f.file_field :image %>
  <%= f.button :submit %>
<% end %>

フォームで[送信]をクリックすると、[名前]入力フィールドの横に「空白にすることはできません」という検証メッセージが表示されますが、[画像ファイル]フィールドには何も表示されません。「画像ファイルが必要です」などのメッセージを表示したいのですが。どうすればいいのですか?

4

2 に答える 2

1

あなたのモデルでは:

validates_presence_of :image, :message => "ダミーのファイルを選択してください!"

ビューでは、次のようなエラー メッセージを取得できます。

@task.errors.messages[:image].to_sentence

于 2013-01-10T15:35:01.720 に答える
0

参照: rails 3 で "file_fields" を検証する方法

コンテンツ固有のタイプであらゆる種類のアップロード コンテンツ フィールドを検証してから、エラーをスローする必要があります。画像のアップロードには gem を使用することをお勧めします。

于 2012-08-03T06:14:01.183 に答える