我使用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>
我每次上传时都会反复获取相同的文件(即使它是不同的文件)。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您正在迭代,但为每个附件链接运行相同的代码。
使用规范的Ruby,它将更接近:
<% @protocol.attachs.each do |attach| %>
<%= link_to "Download", attach.url(:original) %>