Ruby on rails ActiveRecord::Base#find上的代理_反射等价物?

Ruby on rails ActiveRecord::Base#find上的代理_反射等价物?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我试图创建一个助手,它根据ActiveRecord::Base#find或关联返回的对象类型自动选择正确的分部。不幸的是,我不能只查看返回数组的第一个元素,因为在这种情况下,我也想选择正确的元素。如果调用关联,它将返回一个带有proxy_反射方法的代理,这正是我想要的,但它在ActiveRecord::Base#find:()的结果中不存在 例如: association_posts = Author.find(1).posts association_posts.proxy_reflectio

我试图创建一个助手,它根据ActiveRecord::Base#find或关联返回的对象类型自动选择正确的分部。不幸的是,我不能只查看返回数组的第一个元素,因为在这种情况下,我也想选择正确的元素。如果调用关联,它将返回一个带有proxy_反射方法的代理,这正是我想要的,但它在ActiveRecord::Base#find:()的结果中不存在

例如:

association_posts = Author.find(1).posts
association_posts.proxy_reflection.class_name # Returns "Post"
all_posts = Post.find(:all)
all_posts.proxy_reflection # no method exception, what do I call here instead?

我不确定这是否是您想要的,但请尝试:

all_posts.first.class

我不确定这是否是您想要的,但请尝试:

all_posts.first.class