У меня есть модель User
и модель Group
, между этими двумя я хочу создать ассоциацию «многие ко многим» с таблицей соединений, используя пользователя through
.
. rb:
class User < ActiveRecord::Base
has_many :groups_user
has_many :groups, :through => :groups_user
end
group.rb:
class Group < ActiveRecord::Base
has_many :groups_user
has_many :users, :through => :groups_user
end
groups_user.rb
class GroupsUser < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
Сначала я попытался сделать то же самое, назвав класс присоединяемой модели GroupsUsers
в groups_users.rb
, но я получил неинициализированную постоянную ошибку, если только не использовал :class_name
для указания имени класса.
Мой вопрос: какова логика множественного числа первого имени, а не второго? Ассоциация "многие ко многим", поэтому обе модели находятся в равных условиях. В этом случае группа на первом месте просто из-за лексического порядка. Так почему же плюрализировать одно, а не другое? Это не имеет смысла для меня.