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 回答