25
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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)

で取れたり・・・。

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

25
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
25
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?