Post HABTM タグがあり、ネストされた属性を介して一括割り当てを使用しているとします。
私はPostモデルでこれを持っています:
accepts_nested_attributes_for :posts_tags, \
:reject_if => proc { |attrs| attrs.tag_id.blank? }
Postコントローラーにこれがあります:
def new
@post = Post.new
3.times { @post.posts_tags.build }
end
def create
@post = Post.new(params[:post])
@post.save
end
そして、これを投稿形式で:
<%= f.fields_for :tags do |tg| %>
<%= tg.label :tag_id %>
<%= tg.select :tag_id .... %>
<% end %>
すべてが完璧に機能し、最小限のコードで動作します。投稿は、選択されたタグに関連付けられます。
そして今: ユーザーに投稿用に少なくとも 1 つのタグを選択してもらいたい場合はどうすればよいでしょうか。タグが選択されていない投稿を無効にするにはどうすればよいですか? 最もエレガントなソリューションは何でしょうか?