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