4

ユーザーが最大 5 つのファイルを保存できるようにしたいので (それ以下であれば問題ありません)、新しいアクションを次に示します (place_photos は Paperclip の添付ファイル、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 に答える