0

我有 2 个有has_and_belongs_to_many关系的模型:

class Category < ActiveRecord::Base
  has_and_belongs_to_many :templates
end

class Template < ActiveRecord::Base
  has_and_belongs_to_many :categories
end

我想知道如何通过这种关系获得类别名称,例如我找到了第一个模板:

t = Template.find(:first)

然后使用t.categories将返回一个对象,但我想有 category.name 作为回报,我该如何实现呢?

4

3 回答 3

3

要获取与您的第一个Template实例关联的类别的名称,您可以执行以下操作:

Template.first.categories.collect(&:name)

——这使用了Symbol#to_procRails 添加的支持。此 Railscast中的更多信息。

于 2009-12-22T14:27:31.870 回答
0
t.categories.first.name
于 2009-12-22T14:25:31.033 回答
0

假设类别记录具有 name 字段,您可以这样做:

t.categories.map(&:name)
于 2009-12-22T14:26:09.440 回答