私が見た問題の本質
ある日、間違いがなければ、named_scope を再利用して別の named_scope を定義する例を見たことがあります。このようなもの(正確な構文を思い出せませんが、それはまさに私の質問です):
named_scope :billable, :conditions => ...
named_scope :billable_by_tom, :conditions => {
:billable => true,
:user => User.find_by_name('Tom')
}
問題は、可能な場合、正確な構文は何ですか? 私はそれを取り戻すことができず、Google も役に立ちませんでした。
いくつかの説明
私が実際にそれを望んでいるのは、Searchlogic を使用して複雑な検索を定義しているためです。これにより、次のような式が得られる可能性があります。
Card.user_group_managers_salary_greater_than(100)
しかし、どこにでも置くには長すぎます。私の知る限り、Searchlogic はその場で named_scopes を定義するだけなので、次のように Card クラスに named_scope を設定したいと思います。
named_scope from_big_guys, { user_group_managers_salary_greater_than(100) }
- これは、named_scope 内で長い Searchlogic メソッドを使用する場所です。しかし、繰り返しになりますが、構文はどうなるでしょうか? それを理解することはできません。
履歴書
では、named_scope の入れ子 (連鎖という意味ではありません) は実際に可能ですか?