Rails - has_one: through и has_many: through - PullRequest
       1

Rails - has_one: through и has_many: through

0 голосов
/ 29 сентября 2018

Я хочу разработать клубную систему.В клубе много пользователей, у пользователя есть один клуб и членство для хранения некоторой информации.Могу ли я использовать has_one: through и has_many: through для создания связей один-ко-многим?

class Club < ApplicationRecord
  has_many :users, through: :memberships
  has_many :memberships
end

class Membership < ApplicationRecord
  belongs_to :club
  belongs_to :user
end

class User < ApplicationRecord
  has_one :club, through: :membership
  has_one :membership
end

Поскольку в Руководствах по Rails упоминается has_one: through для создания связи один-к-одному, и has_many: через, чтобы построить ассоциацию многих ко многим.Могу ли я использовать этот способ?Спасибо.

1 Ответ

0 голосов
/ 29 сентября 2018

Можно.Вы должны немного откорректировать свои модели, чтобы определить свою through деталь, прежде чем определять другую ассоциацию, которая проходит через нее, то есть

class Club < ApplicationRecord
  has_many :memberships
  has_many :users, through: :memberships
end

class User < ApplicationRecord
  has_one :membership
  has_one :club, through: :membership
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...