1

我使用 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>

每次上传时,我都会一遍又一遍地获取相同的文件(即使它是不同的文件)。谁能帮助我解决这个问题?

4

1 回答 1

2

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

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

<% @protocol.attachs.each do |attach|  %> 
  <%= link_to "Download", attach.url(:original) %>
于 2013-08-12T16:22:00.400 回答