У меня есть две модели сайта и пользователя.Когда пользователь регистрируется в приложении, он выбирает сайт, к которому он принадлежит.Итак, у сайта есть has_many: users, а user own_to: site.
app \ models \ site.rb
class Site < ActiveRecord::Base
has_many :users
end
app \ models \ user.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
belongs_to :site
has_and_belongs_to_many :roles, :uniq => true
end
Это действительно отражает домашний сайт пользователя, и я часто звонювзаимосвязь, чтобы выяснить, откуда пользователь, например:
<% = user.lastname%>, <% = user.firstname%> с сайта: <% = user.site.name%>, которыйпереводит на: Смит, Джон с сайта: Операции GenericCo
Я хотел бы добавить отношение habtm, при котором пользователи могут ПОДДЕРЖИВАТЬ множество сайтов, чтобы пользователь мог выбирать, какие сайты он поддерживает, из флажков, перечисляющих сайты.,
Я знаком с отношениями habtm, потому что у моих пользователей много ролей.Я установил это как
has_and_belongs_to_many :roles, :uniq => true
Я точно знаю, что если я добавлю таблицу соединений и использую
has_and_belongs_to_many: sites
на моей модели, то все сойдет с уматонны ошибок.Буду признателен за любые полезные советы и подсказки кода.