【メモ】ActiveRecordでポリモーフィック関連しているモデルクラスを取得する

Pocket

ポリモーフィック関連しているクラスに対して共通のメソッドを投げて返してもらう処理を書きたかったのですが、妙に泥臭くなった上にGoogleでもひっかからなかったのでブログで共有します。もっとマシな方法募集中。

環境

Railsプロジェクト内のモデルクラスを取得する

ActiveRecord::Baseを継承しているクラスから絞り込む方法もありますが、ロードされていないクラスを取得することができない弱点があってよろしくありません。ここは一つテーブル名からクラスを取得する方法でアプローチしようと思います。

以下のコードで取得できます。

ポリモーフィック関連しているクラスを絞り込む

ポリモーフィック関連は以下のように定義するので、以下のような定義のあるクラスを持ってくるコードを書きます。

ポリモーフィック関連コード例

絞り込む

ちょっと力技なのでよりよい方法を知っている方がいれば教えて下さい!