2013-08-16 47 views
0

我有一个User类具有以下has_many关系:推断类的has_many关系

class User 
    has_many :created_things, :class_name => 'Thing' 
end 

鉴于User实例,调用它u,我怎么能编程方式确定类的u.created_things的元素?我想这样做即使u.created_things为空(在这种情况下u.created_things.class只是返回Array

回答

0

您可以使用Arel来确定关联的类。以下将产生字符串“Thing”。

u.created_things.arel_table.engine.to_s 
+0

但是,在u.created_things == []'的情况下,这将是'NilClass' – tlehman

+0

对于第二种情况,正确的。所以,你总是想要返回“东西”? – steakchaser

+1

如何使用arel_table:u.created_things.arel_table.engine.to_s – steakchaser