4

我希望用户能够保存最多 5 个文件(任何少于这个都可以),所以这是我的新操作(place_photos 是回形针附件,Place :has_many PlacePhoto):

def new
  @place = Place.new
  5.times { @place.place_photos.build }
  ...
end

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

<%= f.simple_fields_for :place_photos do |photo| %>
  <%= photo.input :photo %>
  <%= photo.input :description %>
<% end %>

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

谢谢你。

4

1 回答 1

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
于 2012-06-16T14:52:38.817 回答