2017-05-05 9 views
0

私は多様な関連付けを企業の画像用に設定しています。私は会社に6枚までの画像を許可したいと思っています。イメージがすでに作成されている場合はそのイメージが表示され、そうでなければアップロードフィールドに表示されます。設定多型関連形式 - 新規作成または既存の編集

モデル:

class Company < ApplicationRecord 
    has_many :images, as: :imageable 
    accepts_nested_attributes_for :images 
end 

コントローラを設定:ビューで

def details 
    images_count = @company.images.count 
    build_number = 6 - images_count 
    build_number.times { @company.images.build } 
end 

を:

<%= form_for(@company) do |f| %> 
    <%= f.fields_for :images, multipart: true do |g| %> 
     <%= g.file_field :image %> 
    <% end %> 
<% end %> 

は、それが画像の特定のインスタンスかどうかを確認することが可能です既に作成されていて、そのイメージを表示していますか?現在作成されているので、6つのインスタンスすべてに対してfile_fieldが使用されます。

答えて

1

オブジェクトが

<%= form_for(@company) do |f| %> <%= f.fields_for :images, multipart: true do |g| %> <% if g.object.persisted? %> --- DISPLAY IMAGE <% else %> <%= g.file_field :image %> <% end %> <% end %> <% end %

+0

を永続化されている場合は、あなたのループの内部では、あなたがチェックすることができますが、これは働いていた、どうもありがとうございました。 ご協力いただきありがとうございます。 – connor

関連する問題