STIパターンを使用してクラス階層を実装します
class A
scope :aaa, where([someField]:[someValue])
end
class B < A
end
問題は、私が次のようなものを呼び出そうとすると、次のようになることです。
B.limit(5).aaa
=> SELECT "[table]".* FROM "[table]" WHERE "[table]"."type" IN ('A') AND ([someField] = [someValue]) LIMIT 5
したがって、スコープ:aaaを満たすタイプAの5つのオブジェクトを取得していますが、タイプ="B"の行でも同じことを行う必要があります。
STIパターンの子でスコープを再定義せずに、親からスコープを使用する方法はありますか?
前もって感謝します
編集済み
私はちょうど私の友人とそれについて話し合った、そして彼は私に一つの重要なことを見せてくれた。STIのルートクラスではありません。実際、階層全体は次のようになります
class O < ActiveRecord::Base
end
class A < O
scope ..... .....
end
class B < A
end
多分理由は階層自体にありますか?...