У меня есть модель пользователей и модель компаний. Много пользователей для многих компаний. Это прекрасно работает для обычных пользователей. Это не так здорово для пользователей с правами администратора. Админы должны видеть все компании. Я бы предпочел не назначать всех компаний администраторам.
В настоящее время я использую методы внутри своей модели, например:
class Company
def self.for_user
if User.current.is_admin?
Company.all
else
User.companies
end
end
end
Есть ли способ связать отношение has_and_belongs_to_many с условием?