每当我使用paperclip上传多个图像时,我创建了一个名为images的单独模型,并在相关模型中使用accepts_nested_attributes_for ..
但是如果我想在不使用它的情况下添加多个图像呢?例如,如果我的模型看起来像这样
class Portfolio < ActiveRecord::Base
belongs_to :sector
attr_accessible :overview, :title, :sector_id, :photo
has_attached_file :photo, :styles => { :portfolio => "680x680#"}
end
我的表单看起来像这样
<%= form_for @portfolio do |f| %>
<%= f.label :title, "Title", :class => 'title_label' %>
<%= f.text_field :title %>
<%= f.label :sector_id, "Choose Sector", :class => 'title_label' %><br>
<%= f.collection_select(:sector_id, Sector.all, :id, :name, :prompt => "Please Select a Sector") %><br>
<%= f.label :overview, "Overview", :class => 'title_label' %>
<%= f.text_area :overview %><br>
<%= f.file_field :photo %><br><br>
<%= f.submit 'Submit', :class => 'btn' %>
<% end %>
如何在这种情况下上传多个图像。通常在嵌套表单中,例如我会使用提供的link_to_add助手。
虽然这个场景我没有这个,所以我该怎么办?
始终将附件/照片分开并使用nested_attributes是最好的吗?
任何帮助表示赞赏
答案 0 :(得分:1)
要添加多张照片,您需要提及:html =&gt; {:multipart =&gt;在表格标签中为true,
<%= form_for(@portfolio, :html => { :multipart => true}) do |f| %>
,在file_tag中,
<%= f.file_field :photo, as: :file, multiple: true, name: 'photo[photo]' %>
命名照片[照片] ,这样每张照片都会得到相同的名称,并且可以在控制器中轻松访问。 只是它... ..
注意:我认为您正在使用带有回形针的jquery来上传照片。如果没有试试这个,让我知道它是否有效..;)