2016-04-20 93 views
0

我有這些模型: - 類別 - 次 - SubSubCategoryRails的嵌套JSON(Jbuilder中)

我送一個category_list.json.jbuilder與樹,並有類 - >子類 - > subsubcategories。

事情是「sububcategy」顯示在「子類別」,即使沒有。例如:

我只有一個屬於「subcatgory1」但出現在「subcategory1」中的「subsubcategory1」正在顯示「subsubcategory1,subsubcategor2等」。

分類模型:

has_many :sub_categories 
has_many :sub_sub_categories 

子類別模型。

belongs_to :category 
belongs_to :sub_category 

belongs_to :category 
has_many :sub_sub_category, through: :categories 

SubSubCategory型號:

這在我的代碼:

json.categories @categories do |category| 
    json.name category.name 
    json.description category.description 
    json.category_id category.id 

    json.sub_categories category.sub_categories do |subcategory| 
    json.name subcategory.name 
    json.description subcategory.description 
    json.sub_category_id subcategory.id 

     json.sub_sub_categories category.sub_sub_categories do |subsubcategory| 
     json.name subsubcategory.name 
     json.description subsubcategory.description 
     json.sub_sub_category_id subsubcategory.id 
     end 
    end 
end 

回答

0

我只是屬於 「subcatgory1」,而是出現在 「子類別1」 都出現了「一 」subsubcategory1「 subsubcategory1,subsubcategor2等「。

根據模型關係的代碼,您SubSubCategories屬於Categories,而不是SubCategories。所以,這意味着如果一個類別有一個子類別,則該類別中的所有類別都將具有該子類別。

我想你想是這樣的:

class Category < ActiveRecord::Base 
    has_many :sub_categories 
    has_many :sub_sub_categories, through: :sub_categories 
end 

class SubCategory < ActiveRecord::Base 
    belongs_to :category 
    has_many :sub_sub_categories 
end 

class SubSubCategory < ActiveRecord::Base 
    belongs_to :sub_category 
end