2012-02-08 10 views
2

に単一のレコードを追加するために、私は、以下の関連を持っている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 

、アップロードのための単一のファイルフィールドを追加します新しい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は、既存のレコードをループしていることである私は避けることを好むだろうどの、私はちょうど追加したい(それはもちろん!)新しい写真をアップロードするための単一のファイルフィールド。私はこれについてどうやって行くのですか?代わりに、既存の各写真のフィールドを作成する

答えて

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

、この行は新しいPhotoを構築し、(フィールドが空であるので、私はそれはあなたが望むものだと思います)これだけのためのフィールドを示しています。

+1

さて、撮影。それは非常に意味がありますが、私はまだそれを行うことを考えていませんでした:S大きな脳のおなら。ありがとう! –

関連する問題