1

我正在构建一个房地产网络应用程序,每个广告都应该有无限数量的图片(资产)。

在 Ad#new 表单中,我希望用户可以选择上传任意数量的图片。

我创建了一个包含多个资产的广告模型。资产是一个模型,其中包含用于图片的回形针。

这是代码:

class Asset < ActiveRecord::Base
  attr_accessible :picture
  has_attached_file :picture, :styles => { :large => "600x600", :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"

  belongs_to :ad
end


class Ad < ActiveRecord::Base
  attr_accessible :contact_cell, :description, :price, :title, :user_id

  belongs_to :user

  has_many :assets, dependent: :destroy
end

如果我想在用户提交表单之前让用户选择添加无限数量的照片,form_for 应该是什么样子?

4

1 回答 1

0

如果你想用 html5 来做,你可以通过做类似的事情来轻松地做到这一点(需要注意的主要重要的事情是,在 html5 上你可以添加属性 multiple=true,这将为你创建一个多重上传):

<%= simple_form_for(@ad, html: { multipart: true }) do |f| %>
  <%= f.input :contact_cell %>
  <%= f.input :description %>
  <%= f.input :price %>
  <%= f.input :title %>
  <%= file_field_tag('ad_assets_picture', multiple: true, name: "ad[assets_attributes][][picture]") %>
  <%= f.button :submit %>
<%- end %>

否则你可以按照嵌套形式的例子,有一个很好的网络广播

于 2013-03-31T08:19:25.347 回答