User と Category の 2 つのモデルがあります。次のコードを検討してください
class User < ActiveRecord::Base
has_and_belongs_to_many :categories
accepts_nested_attributes_for :categories, :allow_destroy => true
alias_method :categories=, :categories_attributes=
end
と
class Category < ActiveRecord::Base
has_and_belongs_to_many :users
end
カテゴリ テーブルにまだ存在しないカテゴリを作成したいと考えています。カテゴリがテーブルに既に存在する場合は、カテゴリの ID を結合テーブルのユーザーに参照する必要があります。そして、カテゴリのタイプを追加する必要がある参照とともに、結合テーブルにタイプというフィールドを追加する必要があると考えてください。
たとえば
user table:
1, sample_user
2, test_user
と
category table:
1, category1
2, category2
と
categories_users:
category_id user_id type
1 1 type1
2 1 type2
1 2 type2
1 2 type1
また、ユーザーのカテゴリを取得するときは、カテゴリ オブジェクト内のカテゴリのタイプと共にカテゴリ オブジェクトを取得する必要があります。
これどうやってするの?私を助けてください