我的_form.html.erb
文件中包含此代码:
<%= f.fields_for :request_attachments do |ra| %>
<div class="row westmontTextMuseo3" id="uploader">
<div class="col-xs-12">
<label class="btn btn-info"> Upload Files
<%= ra.file_field :request_attachment_file, :multiple => true, name: "request_attachments[file][]", :style => "display: none", type: "file" %>
<%= ra.hidden_field :file_cache %>
</label>
<%= link_to(ra.object.file.url.to_s.split('/')[-1], ra.object.file.url) %>
</div>
</div>
<% end %>
我可以看到Upload Files
按钮出现的原因。似乎我希望它超出嵌套表单的范围,但我不知道如何做到这一点。
我的目标是在为每个已经附加的文件提供链接后,将按钮放置一次。
任何帮助都会很棒,谢谢。
修改:其他代码,看看我们是否可以让它发挥作用。
<%= f.fields_for :request_attachments do |ra| %>
<%= link_to(ra.object.file.url.to_s.split('/')[-1], ra.object.file.url) %>
<% end %>
<div class="row westmontTextMuseo3" id="uploader">
<div class="col-xs-12">
<label class="btn btn-info"> Upload Files
<%= @request.request_attachments.file_field :request_attachment_file, :multiple => true, name: "request_attachments[file][]", :style => "display: none", type: "file" %>
<%= @request.request_attachments.hidden_field :file_cache %>
</label>
</div>
</div>
但是undefined method file_field' for #<RequestAttachment...
答案 0 :(得分:1)
这似乎有效
<%= f.fields_for :request_attachments do |ra| %>
<div class="row">
<div class="col-xs-12">
<%= link_to(ra.object.file.url.to_s.split('/')[-1], ra.object.file.url) %>
</div>
</div>
<% end %>
<div class="row westmontTextMuseo3" id="uploader">
<div class="col-xs-12">
<label class="btn btn-info"> Upload Files
<%= file_field_tag :request_attachment_file, :multiple => true, name: "request_attachments[file][]", :style => "display: none", type: "file" %>
<%= hidden_field_tag :file_cache %>
</label>
</div>
</div>
我假设,因为属性是嵌套的,它不起作用,但确实有效。