У меня есть модель, которая содержит социальные сети. то есть (твиттер, фейсбук, ...). Затем мне нужно, чтобы пользовательская модель и модель компании имели социальные сети has_many. Нужно ли мне использовать отношение has_many: through, т. Е.
- Пользователь может иметь много социальных сетей
- Компания может иметь много социальных сетей
- And Socials принадлежит пользователям и компаниям
Будет ли что-то подобное быть правильным?
class Social < ActiveRecord::Base
belongs_to :user
belongs_to :company
end
class User < ActiveRecord::Base
has_many :social_networks
has_many :socials, : through => :social_networks
end
class Company < ActiveRecord::Base
has_many :social_networks
has_many :socials, : through => :social_networks
end
Нужно ли мне иметь модельные социальные сети?
Тогда у меня будет 2 таблицы соединения:
socials_users & companies_socials
Это был бы правильный способ сделать это?
Не думаю, что чем проще будет has_and_belongs_to_many?
Надеюсь, кто-нибудь сможет пролить свет на правильный способ сделать это!