示例模式是“book belongs_to library”
r = Book.reflect_on_all_associations(:belongs_to).first
以上将给出第一个反思。然后我可以用“r.name”来获取“库”(好吧,假设没有其他的belongs_to)。
所以我的问题是......如果我想动态访问“图书馆”课程,我该怎么做?
我不想手动使用“Library.all”(等),因为我试图使它成为通用的东西。
我最初的尝试是这样的:
r.name.singularize.classify.constantize
但这看起来很尴尬....有更合适的方法吗?
答案 0 :(得分:1)
我刚刚在我的控制台中尝试过这个:
k = Post.reflect_on_all_associations(:belongs_to).first.active_record
# => User
k.first
# => returns the first user
答案 1 :(得分:0)
试试这个:
r.class.name.constantize