0

RubyonRailsでマルチレベルのカテゴリを作成する必要があります。そこで、タイトルと説明があり、記事が多いモデルカテゴリを作成します。

class Category
  has_many :articles
end

次に、モデルにparent_idフィールドを追加する必要があります。Categoryこのフィールドは、null(親カテゴリの場合)またはID(子カテゴリの場合)のいずれかである必要があります。明らかに、親カテゴリを選択するには、を選択する必要がありますSelect * from Categories where parent_id=null

私の言いたいことをご理解いただければ幸いです。

どうすれば到達できますか?

更新:ご提案ありがとうございます。これが私が持っているものです

class Category < ActiveRecord::Base
  belongs_to :parent, :class_name => "Category", :foreign_key => "parent_id"
  has_many :children,  :class_name => "Category", :foreign_key => "parent_id"
  attr_accessible :description, :title
end

私が理解したように、:foreign_key => "parent_id"inhas_many :childrenを削除する必要がありますよね?

4

1 に答える 1

4

ここで自己結合モデルを読んでください: http://guides.rubyonrails.org/association_basics.html#self-joins

于 2012-08-24T08:15:42.737 に答える