File upload 如何在rails 4中以嵌套形式显示文件上载按钮一次?
我在rails应用程序中有一个父(播放列表)->子(曲目)结构 我在表单中所做的是显示父属性,然后我有一个用于子属性的表File upload 如何在rails 4中以嵌套形式显示文件上载按钮一次?,file-upload,ruby-on-rails-4,paperclip,nested-forms,File Upload,Ruby On Rails 4,Paperclip,Nested Forms,我在rails应用程序中有一个父(播放列表)->子(曲目)结构 我在表单中所做的是显示父属性,然后我有一个用于子属性的表 <%= form_for(@playlist) do |f| %> <% if @playlist.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(@playlist.errors.count, "error") %>
<%= form_for(@playlist) do |f| %>
<% if @playlist.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@playlist.errors.count, "error") %> prohibited this playlist from being saved:</h2>
<ul>
<% @playlist.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label "Playlist Name: " %>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label " Image: " %>
<%= f.file_field :photo %>
</div>
<br>
<div class="field">
<h5> description: </h5>
<br>
<%= f.text_area :description, :size => "80x3"%>
</div>
<br>
<div>
<h5> Add some music: </h5>
</div>
<div class="field">
<%= f.fields_for :tracks, Track.new do |ff| %>
<%= ff.file_field :audio, :multiple => true %>
<% end %>
</div>
<% if !@playlist.tracks.blank? %>
<table id="tracks" class="display">
<thead>
<tr>
<th>Delete</th>
<th>Track</th>
<th>Album</th>
<th>Artist</th>
<th>Label</th>
</tr>
</thead>
<tbody>
<%= f.fields_for :tracks do |ff| %>
<%= render "track_fields", :f => ff %>
<% end %>
</tbody>
</table>
<% end %>
<div class="actions">
<%= f.submit "Save" %>
</div>
<% end %>
禁止保存此播放列表:
说明:
“80x3”%>
添加一些音乐:
正确%>
删去
轨道
专辑
艺术家
标签
ff%>
我用回形针上传文件。我在播放列表模型上上传图像,在曲目模型上上传MP3
有关守则如下:
<div class="field">
<%= f.fields_for :tracks, Track.new do |ff| %>
<%= ff.file_field :audio, :multiple => true %>
<% end %>
</div>
正确%>
我觉得这是一个骇客。为什么我必须添加一个新曲目才能显示一次“文件”字段(选择“文件”按钮)?在表格的底部,你会注意到我必须打电话给你
<%= f.fields_for :tracks do |ff| %>
再次,因为我想迭代播放列表中的所有曲目,并在表格中显示它们
不确定这个问题是否有意义,但我如何显示文件字段一次(我觉得Track.new是一个黑客,我认为它在保存模型时搞砸了)
编辑:
下面是一个屏幕截图,显示了如果我没有跟踪,会发生什么。新建:
只要试一下普通的
。这将创建尽可能多的按钮(选择文件…),因为有我不想要的曲目。你能发布它的图片吗?