2011-03-17 7 views
0

私はRailsでSingle Table Inheritanceを使用しています。したがって、String型の列typeと、ベースモデルを継承するモデルがあります。今、ベースモデルから継承しているすべてのモデルのリストを取得したいと思います。私が思った最も簡単な方法は、基本モデルのテーブルを照会して、型の列に含まれる別個の値を取得することでした。問題は、このクエリを実行する方法がわかりません。この場合、ベースモデルにサブクラスフックを追加することは不適切です。typeという名前の列に含まれるデータの個別の値を取得するにはどうすればよいですか?

答えて

2
Model.group(:type).collect(&:type) 
+0

しかし、配列の最初のオブジェクトはベースモデルであり、スキーマ宣言も含まれています。 2番目の項目は、それを継承する最初のモデルです(スキーマは含まれません)。なぜ最初のアイテムが違うのですか? – Geo

+0

私がしている場合: 'FatherModel.group(:type).map {| e | e [:type]} '正しいデータを返します。 – Geo

関連する問題