我目前有一个嵌套表单,其中有选择框来分配歌曲。
我的模型是通过分配模型具有许多设置列表的歌曲,反之亦然。设置列表接受分配的嵌套属性。
我的表格如下:
<div>
<%=nested_form_for @allocation do|builder|%>
<%=builder.label :song_id, "Pick a song" %>
<%= builder.hidden_field :setlist_id, value: @setlist.id %>
<%= builder.select(:song_id, options_for_select(@selections),
{include_blank: true}, html:{multiple: true, size: 7}) %>
<%=builder.submit "Add Song", class: "btn btn-large btn-primary" %>
<% end %>
</div>
我想要它,以便在选择空白提示时拒绝创建分配。我试过了:
:reject_if => lambda { |a| a[:song_id].blank? }
但这不允许表单提交,因为嵌套属性无效。我认为reject_if 的重点是它会默默地忽略这一点?