如何从其值中查找模型类名称

时间:2012-01-31 13:33:20

标签: ruby-on-rails ruby model has-and-belongs-to-many

我有一个对象资源,附件作为关联对象。当我调用 resource.attachments 时,它显示空白数组[]表示资源没有附件,但我想获取附件的对象或类名。请注意,附件不是资源类的嵌套资源,而是通过habtm关联连接。

2 个答案:

答案 0 :(得分:1)

您可以在对象的类上调用.name

resource.attachments[n].class.name

请注意,这是纯粹的红宝石,与rails和habtm无关。

顺便说一下,你不能在空数组上调用.class.name,你必须有一些对象。

答案 1 :(得分:1)

您可以像这样使用ActiveRecord :: Reflection来检索关联:

 Resource.reflect_on_all_associations

OR

 Resource.reflect_on_all_associations(:has_and_belongs_to_many)

获取所有关联的类名:

 Resource.reflect_on_all_associations.collect!(&:name)

干杯。