0

每当我使用回形针上传多个图像时,我都会创建一个名为 images 的单独模型,并在关联模型中使用 accept_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 是最好的做法吗?

任何帮助表示赞赏

4

1 回答 1

1

要添加您需要提及的多张照片, :html => { :multipart => true} 在表单标记中为,

<%= form_for(@portfolio, :html => { :multipart => true}) do |f| %>

在 file_tag 中,

<%= f.file_field :photo, as: :file, multiple: true, name: 'photo[photo]' %>

命名照片[照片],这样每张照片都将获得相同的名称,并且可以在控制器中轻松访问。就这样吧。。

注意:我认为您正在使用带有回形针的 jquery 来上传照片。如果不试试这个 n 让我知道它是否有效.. ;)

于 2013-08-05T13:03:04.577 回答