回形针显示多个文件上传

时间:2013-08-12 16:18:47

标签: ruby-on-rails

我使用Paperclip上传了多个文件,但是我无法显示它们。这是我正在尝试的:

模型(或多个):

class Attach < ActiveRecord::Base
  attr_accessible :protocol_id, :file

  has_attached_file :file,
   :path => ':rails_root/public/system/attachs/files/000/000/0:id/original/:basename.:extension'
  attr_accessible :file_file_name, :file_content_type, :file_file_size
  validates_attachment_presence :file

  belongs_to :protocol
end

class Protocol < ActiveRecord::Base
  attr_accessible :current_approved, :p_irb_apn, :past_approved, :attachs_attributes
  has_many :attachs
  accepts_nested_attributes_for :attachs, :allow_destroy => true
end

我的控制器的一部分:

  def new
    @protocol = Protocol.new
    @protocol.attachs.build

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @protocol }
    end
  end

我存储图片的表单的一部分:

  <div class="field"> 
    <%= f.label :file, "Mod" %>
    <%= file_field_tag('protocol_attachs_attributes_file', multiple: true, name: "protocol[attachs_attributes][][file]") %> 
  </div>

我的节目:

<p>
  <b>Modification:</b>
  <% for attach in @protocol.attachs %> 
    <%= link_to "Download", @protocol.attachs.url(:original)%>
  <% end %>
</p>

我每次上传时都会反复获取相同的文件(即使它是不同的文件)。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您正在迭代,但为每个附件链接运行相同的代码。

使用规范的Ruby,它将更接近:

<% @protocol.attachs.each do |attach|  %> 
  <%= link_to "Download", attach.url(:original) %>