目前我有三个型号:
Songs have many Setlists through Allocations
Setlists have many Songs through Allocations
Allocations belong to Setlists and belong to Songs
此刻我的表格如下:
<%=f.label :date, "Set a date" %>
<%=f.date_select :date%>
<div>
<%= render 'song' %>
</div>
<%=f.submit "Create Setlist", class: "btn btn-large btn-primary" %>
上面给出的歌曲部分是:
<div id="songSelection">
<table class= "table table-striped table-bordered">
<thead>
<th>Title</th>
<th>Artist</th>
<th>Add to Set</th>
</thead>
<tbody>
<% @songs.each do |song| %>
<tr>
<%= nested_form_for(@setlist.allocations.build(song_id: song.id)) do |builder| %>
<td><%= song.title %></td>
<td><%= song.artist %></td>
<td>
<%= builder.submit "Add Song", class: "btn btn-small btn-primary" %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
基本上我正在尝试通过分配将歌曲分配给设置列表。目前它声明歌曲部分中的f未定义。如果我摆脱它然后页面呈现正常但不能正常工作(即,每当我点击按钮添加一首歌曲时,它重定向它将更改保存到设置列表日期但不分配任何新的分配)。任何帮助将非常感激。我意识到我可能错过了信息,因为我对此有点新鲜,所以如果需要任何其他细节,请询问。
我尝试过使用Ryan Bates的嵌套表单宝石,但我无法让它工作。我认为这是因为当它试图构建它时它没有为分配分配歌曲ID,但不确定我将它放在何处/如何。