Paperclip多文件附件:选择了错误的content_type的文件后出错

时间:2011-08-14 18:34:34

标签: ruby-on-rails paperclip

我正在尝试让Paperclip附加多个图像,4在我的情况下,并遵循互联网上找到的所有可能的教程。我可以附加多个图像,没有问题。但是,一旦我尝试附加错误的content_type而不是图像的文件,问题就会开始。这是我得到的错误:

发布图片照片内容类型不是图片/ jpg,图片/ jpeg,图片/ png,图片/ gif 之一,这非常好。

然而,在渲染错误后,我有五个按钮来附加图像,而不是四个。我得到一个额外的 file_field 按钮,这是由于生成的错误,以及我在页面中已有的四个file_filed按钮。我无法找到解决这个问题的方法。以下是与此相关的代码:

控制器代码

def new
    @post = Post.new
    4.times {@post.post_images.build}
end

def create
    @post = Post.new(params[:post])

    if @post.save
      redirect_to @post, :notice => "Successfully created post."
    else
      4.times {@post.post_images.build}
      render :action => 'new'
    end
end

部分查看代码,_ form.html.erb

<%= f.fields_for :post_images do |builder| %>
  <% if builder.object.new_record? %>
    <div class="picture-field">
      <%= builder.file_field :photo %>
    </div>
  <% end %>
<% end %>

1 个答案:

答案 0 :(得分:1)

试试这个:)

(4 - @post.post_images.select(&:new_record?).count).times {@post.post_images.build}