アクティブなレコード クエリで返される各結果のクラスを変更する必要があります。クエリが実行され、結果が返されるたびに発生したいと思います。残念ながら、STI を使用してこれを達成することはできません。例えば:
class Foo < ActiveRecord::Base
after_find :becomes_a_subclass
def becomes_a_subclass
becomes [Bar, Baz, Raz].sample
end
end
class Bar < Foo ; end
class Baz < Foo ; end
class Raz < Foo ; end
私は、以下が与えられた結果を返すことを期待しています:
=> Foo.all
[#<Bar id: 1>, #<Baz id: 2>, #<Bar id: 3>, #<Raz id: 4>]