【问题标题】:Avoiding fields_for for adding a single record to associated model避免 fields_for 将单个记录添加到关联模型
【发布时间】:2012-02-08 09:59:56
【问题描述】:

我有以下关联:

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

现在,我正在寻找构建一个开发表单,提交后将添加一个文件字段以上传新的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 正在循环遍历现有记录(当然是!),我希望避免这种情况,我只想添加一个文件字段来上传新的照片。我该怎么办?

【问题讨论】:

    标签: ruby-on-rails forms associations fields-for


    【解决方案1】:
    <%= form.fields_for :large_photos, @developer.large_photos.build do |project_fields| %>
    

    此行不是为每张现有照片创建字段,而是构建一个新的Photo 并仅显示此字段的字段(因此字段为空,我认为这是您想要的)。

    【讨论】:

    • 好吧,开枪。这很有意义,但我仍然没有想过这样做:S Major 大脑放屁。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2023-03-14
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    相关资源
    最近更新 更多