在rails中创建类别子类别模型到第n级

时间:2017-07-04 16:02:40

标签: ruby-on-rails rails-activerecord

我想创建一个具有第n级子类别的类别模型。我可以创建最多2个级别,但不能超越它。

class Category < ActiveRecord::Base
   has_many :subcategories, :class_name => "Category", :foreign_key => "parent_id", :dependent => :destroy
   belongs_to :parent, :class_name => "Category"
end

我不想使用任何宝石。

1 个答案:

答案 0 :(得分:0)

编辑我会尝试这个

#category.rb
has_many :sub_category_ones
has_many :sub_category_twos, through: :sub_category_ones
has_many :sub_category_threes, through: :sub_category_twos
has_many :sub_category_fours, through: :sub_category_threes

#sub_category_one.rb
belongs_to :category
has_many :sub_category_twos

#sub_category_two.rb
belongs_to :sub_category_one
has_many :sub_category_threes

#sub_category_three.rb
belongs_to :sub_category_two
has_many :sub_category_fours

#sub_category_fours
belongs_to :sub_category_three

然后你可以说:

category.sub_category_fours # I think! :)

如果它有效并且你构建了一个accepts_nested_attributes_for相应的系统,请你发给我强大的参数,所以你可以用@ category.save保存它们!

祝你好运!我希望它有效。 :)