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记录.如何防止保存空记录而不是出错?
谢谢.
在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)