У меня есть следующие ассоциации:
class User < ActiveRecord::Base
has_and_belongs_to_many :brands, :join_table => 'brands_users'
has_and_belongs_to_many :companies, :join_table => 'companies_users'
end
class Brand < ActiveRecord::Base
belongs_to :company
has_and_belongs_to_many :users, :join_table => 'brands_users'
end
class Company < ActiveRecord::Base
has_and_belongs_to_many :users, :join_table => 'companies_users'
has_many :brands, :order => :name
end
При редактировании пользователя я использую флажок списка брендов.Чтобы я мог назначить пользователям «доступ» к брендам, отображаемые бренды - это только бренды, принадлежащие текущей компании (определяется поддоменом [используя subdomain_fu]).
Проблема, с которой я сталкиваюсь, заключается в том, что при использовании функциональности HABTM по умолчанию и списка флажков при сохранении Rails удаляет ВСЕ пользовательские-> брендовые ассоциации, а затем повторно добавляет только те, которые я только что отправил...
Как определить, чтобы удалить только ассоциации брендов, принадлежащих текущей компании, определенных в поддомене?