Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 回形针。如何不保存空文件?_Ruby On Rails_Ruby On Rails 3_Paperclip - Fatal编程技术网

Ruby on rails 回形针。如何不保存空文件?

Ruby on rails 回形针。如何不保存空文件?,ruby-on-rails,ruby-on-rails-3,paperclip,Ruby On Rails,Ruby On Rails 3,Paperclip,我希望用户能够保存最多5个文件(任何小于此值的文件都可以),因此我的新操作如下(place\u照片是回形针附件,place:has\u many PlacePhoto): 我的表格如下(稍微简化): 结果生成了5个文件字段。提交表单后,如果未提供文件,将创建空的PlacePhoto记录。如何防止保存空记录而不出错 谢谢。在place模型中,您可以验证place\u照片,如下所示: Class Place < ActiveRecord::Base accepts_nested_att

我希望用户能够保存最多5个文件(任何小于此值的文件都可以),因此我的新操作如下(place\u照片是回形针附件,place:has\u many PlacePhoto):

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


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


谢谢。

place
模型中,您可以验证
place\u照片,如下所示:

Class Place < ActiveRecord::Base

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

end
classplaceproc{| attributes | attributes['photo'].blank?},:allow _destroy=>true
结束

。非常感谢。我只是对它做了一点修改:接受嵌套的属性,用于放置照片,拒绝属性,如果=>proc{{124; attributes}!attributes['photo'].present?},:允许销毁=>true:)是的!你需要让它成为照片而不是数据。
<%= f.simple_fields_for :place_photos do |photo| %>
  <%= photo.input :photo %>
  <%= photo.input :description %>
<% end %>
Class Place < ActiveRecord::Base

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

end