私は現在、曲を割り当てるための選択ボックスを持つネストされたフォームを持っています。
私のモデルは、割り当てモデルを介して、多くのセットリストを持つ曲であり、その逆も同様です。セットリストは、割り当て用にネストされた属性を受け入れます。
私のフォームは次のとおりです。
<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 のポイントは、これを黙って無視することだと思いましたか?