2016-10-11 59 views
2

模型参考我有两个活动记录模式获取从ActiveRecord_Associations_CollectionProxy对象

class User < ActiveRecord::Base 
    has_many :posts 
end 

class Post < ActiveRecordd:Base 
end 

我想获取类从ActiveRecord的关联参考。

user.posts.get_object_class 

目前,当我做

user.posts.class.to_s 
# Post::ActiveRecord_Associations_CollectionProxy 

有没有一种方法,我可以得到,而不必“分裂”的字符串“::”,然后constantize呢?

回答

3

使用modelklass属性 - 它会回报你正在寻找的常数:

user.posts.model 
#=> Post 
user.posts.klass 
#=> Post 

详情请参阅apidocs

+0

太棒了!非常感谢。正是我想要的! –

+0

@PrakashRaman欢迎:) –

+0

@PrakashRaman请务必接受答案;) –