避免将单个记录添加到关联模型的fields_for



我有以下关联:

class Developer < ActiveRecord::Base
  has_many :large_photos, :class_name => 'Photo', :conditions => { :large => true }, :reject_if => proc { |x| x['image'].blank? }
end
class Photo < ActiveRecord::Base
  belongs_to :developer
  mount_uploader :image, ImageUploader # Carrierwave
end

现在,我希望构建一个Development表单,在提交时,它将添加一个用于上传新Photo的单个文件字段。目前我有:

<%= form_for @developer do |form| %>
    <%= form.fields_for :large_photos do |sf| %>
    <div class="dropzone">
        <%= sf.file_field :image %>
        <%= sf.hidden_field :large, :value => '1' %>
        <%= sf.hidden_field :image_cache %>
    </div>
    <% end %>
<% end%>

现在,我遇到的问题是fields_for在现有记录中循环(当然是!),我宁愿避免这种情况,我只想添加一个文件字段来上传新照片。我该怎么做?

<%= form.fields_for :large_photos, @developer.large_photos.build do |project_fields| %>

这行没有为每个现有照片创建字段,而是构建了一个新的Photo,并只显示这张照片的字段(所以字段是空的,我认为这就是你想要的)。

相关内容

  • 没有找到相关文章

最新更新