Als ich eine bestimmte Programmierschule besuchte und als Team eine Frima-App erstellte, implementierte ich eine mehrschichtige Struktur von Kategorien, also werde ich sie vorstellen! !!
Dann möchte ich es vorstellen.
Zunächst möchte ich Produkte und Kategorien zuordnen, um Modelle für "Kategorie" und "Artikel" zu erstellen.
$ rails g model category
$ rails g model item
Führen Sie die Vorfahren in Gemfile ein.
gem 'ancestry'
Führen Sie den folgenden Befehl im Terminal aus
$ bundle install
$ rails g migration add_ancestry_to_category ancestry:string:index
$ rails db:migrate
Durch die Verwendung von Vorfahren wird die Viele-zu-Viele-Beziehung zu einer Eins-zu-Viele-Beziehung, und das DB-Design wird einfach.
Beschreibe has_ancestory in category.rb
category.rb
class Category < ApplicationRecord
has_many :items
has_ancestry
end
item.rb
class Item < ApplicationRecord
belongs_to :category
end
Wir werden Kategoriedatensätze in seeds.rb einführen.
seeds.rb
lady = Category.create(name: "Frauen")
lady_1 = lady.children.create(name: "Spitzen")
lady_1.children.create([{name: "T-Shirt/Schneiden und Nähen(Kurze Ärmel/Ärmellos)"},{name: "T-Shirt/Schneiden und Nähen(Sieben Minuten/Lange Ärmel)"},{name: "Hemd/Bluse(Kurze Ärmel/Ärmellos)"},{name: "Hemd/Bluse(Sieben Minuten/Lange Ärmel)"},{name: "ポロHemd"},{name: "Leibchen"},{name: "Muskelshirt"},{name: "Neckholder"},{name: "stricken/Sweatshirt"},{name: "Tunika"},{name: "Strickjacke/Bolero"},{name: "Ensemble"},{name: "Beste/Gillet"},{name: "Parker"},{name: "Trainer/Schweiß"},{name: "Nackte Spitze/Rohroberteil"},{name: "Jersey"},{name: "Andere"}])
Wenn Sie Vorfahren einschließen, können Sie diese als untergeordnetes Element der unmittelbar vorhergehenden Variablen behandeln, indem Sie .children schreiben.
Die übergeordnete Kategorie, Damen, wird mit der folgenden Beschreibung registriert.
seeds.rb
lady = Category.create(name: "Frauen")
Als nächstes wird die untergeordnete Kategorie Tops mit der folgenden Beschreibung registriert.
seeds.rb
lady_1 = lady.children.create(name: "Spitzen")
Anschließend wird die Kategorie der Enkelkinder mit der folgenden Beschreibung registriert.
seeds.rb
lady_1.children.create([{name: "T-Shirt/Schneiden und Nähen(Kurze Ärmel/Ärmellos)"},{name: "T-Shirt/Schneiden und Nähen(Sieben Minuten/Lange Ärmel)"},{name: "Hemd/Bluse(Kurze Ärmel/Ärmellos)"},{name: "Hemd/Bluse(Sieben Minuten/Lange Ärmel)"},{name: "ポロHemd"},{name: "Leibchen"},{name: "Muskelshirt"},{name: "Neckholder"},{name: "stricken/Sweatshirt"},{name: "Tunika"},{name: "Strickjacke/Bolero"},{name: "Ensemble"},{name: "Beste/Gillet"},{name: "Parker"},{name: "Trainer/Schweiß"},{name: "Nackte Spitze/Rohroberteil"},{name: "Jersey"},{name: "Andere"}])
Führen Sie nach der Beschreibung des Datensatzes in seeds.rb den folgenden Befehl im Terminal aus, um ihn in der Datenbank wiederzugeben.
$ rails db:seed
Es ist so in der DB registriert.
Danke, dass du bis zum Ende zugesehen hast! !!
Ich hoffe, Sie fanden diesen Artikel hilfreich: pray_tone2:
Recommended Posts