У меня есть 3 модели: категория, аккаунт и субаккаунт
Отношения:
Аккаунты has_many: sub_accounts
Категории has_many: sub_accounts
Я хотел получить список всех категорий, которые не используются данной учетной записью.
Мой метод в модели категории в настоящее время выглядит так:
class Category < ActiveRecord::Base
def self.not_used_by(account)
Category.find_by_sql("select * from categories where id not in(select category_id from sub_accounts where account_id = #{account.id})")
end
end
Мой вопрос: есть ли более чистая альтернатива, чем использование SQL?
NB. Я в настоящее время использую Rails 3 (бета)