2016-04-19 2 views
-4

Ich würde gerne mehr als eine Unterkategorie pro Kategorie oder Kategorie pro Untergruppe und vielleicht eine dritte Kategorie in Bezug auf einen Samen setzen.Wie Seedatenbeziehungen in Rails?

für exemple: () = haben

category >>>> item 1 item 2 item 3 
subcategory >>>> item 2(subitem 1 subitem 2 subitem 3) 
thirdcategory >>>> subitem 3(thirditem 1 thirditem 2) 

haben Jemand eine Idee die Möglichkeit, dies mit Samen zu erledige?

die Beziehungen ist:

Kategorie has_many Unterkategorien

Unterkategorien in einer Seed-Datei so etwas tun has_many können Sie thirdcategories

Antwort

2

Wenn Sie Modellunterkategorie, die zur Kategorie gehört:

item1 = Category.create 
subitem1 = Subcategory.create(category: item1) 

Es wäre nützlich, wenn Sie genau erklären können, was Ihre Modelle und Beziehungen zwischen ihnen sind.

+0

vielen Dank @ Ivan-Lučev! –

+1

und ich habe die Frage bearbeitet –

0

Ich denke, wir müssen nur nur Modell mit dem Namen Kategorie für Ihre Unterkategorien Ausgabe:

Feld hinzufügen "parent_id: integer" zu Ihrer Kategorie Modell

class Category < ActiveRecord::Base 
    belongs_to :parent  , class_name: "Category", foreign_key: "parent_id" 
    has_many :sub_categories, class_name: "Category", foreign_key: "parent_id" 
end 

Seed-Datei:

item_1 = Category.create() 
item_2 = Category.create() 
item_3 = Category.create() 

subitem_1 = item_2.sub_categories.create() 
subitem_2 = item_2.sub_categories.create() 
subitem_3 = item_2.sub_categories.create() 

thirditem_1 = item_3.sub_categories.create() 
thirditem_2 = item_3.sub_categories.create() 

Hoffe diese Hilfe