需要在Ruby on Rails中创建多级类别。所以我创建了一个模型类别,它有标题和描述,并且有很多文章。
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"
中的has_many :children
必须删除,对吧?