グループに複数のユーザーを含めることができ、ユーザーは複数のグループ私が入力したときに、しかしRails:なぜ "has_many ...、:through => ..."という結びつきによって "NameError:uninitialized constant ..."という結果になるか
class Group < ActiveRecord::Base
has_many :users_groups
has_many :users, :through => :users_groups
end
class User < ActiveRecord::Base
has_many :users_groups
has_many :groups, :through => :users_groups
end
class UsersGroups < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
:
Group.find(1).users
は私が手:
NameError: uninitialized constant Group::UsersGroup
私は何をやっている、私は、次の関連付けを設定します 違う ?
ありがとうございます! 'UsersGroup'というモデルを持っていると私には奇妙な/間違っているように見えます。私はそれらのうちの一つが複数であり、他の一つが欲しいとは思わない。おそらく、モデル名をUserGroupPairのように変更して、テーブル名が 'user_group_pairs'になるようにしてください。どう思いますか ? –
ジョインモデルを使用している場合、標準的な方法は、関連付けを記述する単語を作成することです。たとえば、GroupMembershipなどです。チェックするだけで、参加モデルが必要ですか?結合が論理を必要としない場合は、ただのテーブルで取り除くことができます。 – Skilldrick
モデル名 'GroupMembership'とテーブル名' group_membership'を意味しますか?私はあなたがジョインテーブルを取り除くことについての2番目の点を理解しているかどうかはわかりません。少し詳しく説明できますか? –