LoginSignup
24
21

More than 5 years have passed since last update.

モデルのアソシエーション情報を調べる

Posted at

モデルにアソシエーションが定義されているかってどうやって判定すんだっけか・・・?
調べてみた

reflect_on_associationというメソッドがあるらしい
例えば・・・

Book.reflect_on_association(:author)

関連があれば、その情報が返ってきて、定義されていない場合はnilとなる

他にも、reflectionsreflect_on_all_associationsとかあるようです。
reflect_on_all_associationsのメソッドでは、

Book.reflect_on_all_associations(:belongs_to)

というように、belongs_toだけ, has_manyだけとか指定して取得することができるようです。

単純にアソシエーションの名前だけ全部欲しすって時は、

Book.reflect_on_all_associations.map(&:name)

で取れたり・・・。

あんまり使う機会ないですが、参考までに

24
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
21