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_proc—これは、 Rails が追加するサポートを使用します。詳細については、この Railscastを参照してください。

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

カテゴリ レコードに名前フィールドがあると仮定すると、次のことができます。

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