カテゴリ、アカウント、およびサブアカウントの 3 つのモデルがあります
。関係は次のとおりです。
アカウント has_many :sub_accounts
カテゴリ has_many :sub_accounts
特定のアカウントで使用されていないすべてのカテゴリのリストを取得したいと考えていました。現在、Category モデルの私のメソッドは次のようになっています。
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 を使用するよりもクリーンな代替手段はありますか?
注意。現在Rails 3(ベータ)を使用しています