User、FavCategory、Categoryの3つのモデルがあります。明らかに、FavCategoryDBテーブルは関連テーブルにすぎません。
現在のユーザーでお気に入りのカテゴリを参照するだけでよいため、現在、この設定をHABTMアソシエーションとして使用していません。
# User.rb
has_many :fav_categories
# FavCategory.rb
belongs_to :user
belongs_to :category
今、私はユーザーがチェックボックスから選択し、彼らが彼らのお気に入りとして望むこのカテゴリーを選択できるようにしたいのですが、私は現在これを持っています:
<div class="field">
<%= f.label 'Fav Categories' %>
<ul>
<% Category.all.each do |c| %>
<li>
<%= check_box_tag 'user[fav_category_ids][]', c.id, @user.fav_categories.pluck(:category_id).include?(c.id) %>
<%= c.title %>
</li>
<% end %>
</ul>
<% end %>
</div>
だから私の質問は:
- HABTMを使用する必要がありますか?それとも必要ありませんか?
- HABTMが必要ない場合、保存時にユーザーのお気に入りカテゴリを更新するためにチェックボックスに名前を付けるにはどうすればよいですか?
ありがとう!