回形针.怎么不保存空文件?

Jac*_*cek 3 ruby-on-rails paperclip ruby-on-rails-3

我希望用户能够保存多达5个文件(任何东西都不错),所以这是我的新动作(place_photos是Paperclip附件,Place:has_many PlacePhoto):

def new
  @place = Place.new
  5.times { @place.place_photos.build }
  ...
end
Run Code Online (Sandbox Code Playgroud)

我的表格如下(稍微简化):

<%= f.simple_fields_for :place_photos do |photo| %>
  <%= photo.input :photo %>
  <%= photo.input :description %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

结果生成了5个文件字段.提交表单后,如果未提供文件,则会创建空的PlacePhoto记录.如何防止保存空记录而不是出错?

谢谢.

asi*_*rna 6

place模型中,您可以验证place_photos如下:

Class Place < ActiveRecord::Base

 accepts_nested_attributes_for :place_photos , :reject_if => proc { |attributes| attributes['photo'].blank? }, :allow_destroy => true

end
Run Code Online (Sandbox Code Playgroud)