3

スキーマの例は「本属_図書館」です。

r = Book.reflect_on_all_associations(:belongs_to).first

上記は最初の反省を与えるでしょう。次に、「r.name」を実行して「library」を取得できます (まあ、他に belongs_to がないと仮定します)。

だから私の質問は...「ライブラリ」クラスに動的にアクセスしたい場合、どうすればよいですか?

「Library.all」(など)を手動で使用したくありません。これは、一般的なものにしようとしているためです。

私の最初の試みは次のようなものです:

r.name.singularize.classify.constantize

しかし、それは厄介なようです....もっと適切な方法はありますか?

4

2 に答える 2

1

コンソールでこれを試しました:

k = Post.reflect_on_all_associations(:belongs_to).first.active_record
# => User
k.first
# => returns the first user
于 2013-10-25T14:07:37.913 に答える