RailsでSTIをいじってみましたが、レコードを特定のモデルに関連付けることについて質問がありました。
次のスキーマを持つProductモデルがあるとします。
# id :integer not null, primary key
# url_name :string(255) not null
# cover_img :string(255)
# created_at :datetime not null
# updated_at :datetime not null
この製品モデルから、2つの継承されたモデルを作成します。
Foo:
class Foo < Product
end
バー:
class Bar < Product
end
レコードをFoo(A)に保存し、レコードをBar(B)に保存するとします。Product.allを呼び出すと、すべてのレコードAとBを取得することを期待しています。ただし、Foo.allまたはBar.allを呼び出すと、それぞれAとBのみを取得することを期待していますが、Foo.allを呼び出すとどうなりますか。またはBar.all、Product.allを呼び出すと得られる結果が得られます。期待される結果を得るためにこの関係を構成するにはどうすればよいですか?
Rails3.2.6とRuby1.9.3を使用しています