Das Team erstellt eine Klonseite für eine bestimmte Frima-App. Zu diesem Zeitpunkt hatte ich ein kleines Problem mit der Verwendung der Seed-Datei, daher werde ich sie als Memorandum belassen.
Bei der Auflistung eines Produkts werden der "Status des Produkts", die "Versandkosten" usw. usw. angegeben. Geben Sie zuerst den Wert in die Datenbank ein, damit Sie ihn aus dem Pulldown-Menü auswählen können.
So was
Erstellen Sie seed.rake direkt unter lib / task / und beschreiben Sie Folgendes
lib/tasks/seed.rake
Dir.glob(File.join(Rails.root, 'db', 'seeds', '*.rb')).each do |file|
desc "Load the seed data from db/seeds/#{File.basename(file)}.
task "db:seed:#{File.basename(file).gsub(/\..+$/, '')}" => :environment do
load(file)
end
end
Erstellen Sie ein DB / Seeds-Verzeichnis und erstellen Sie eine Datei mit dem Namen "model name.rb, in die Sie Daten einfügen möchten" Erstellen Sie vorerst Condition.rb, das den Status des Produkts anzeigt
db/seeds/Condition.rb
conditions = Condition.create([
{condition: "Neu / unbenutzt"},
{condition: "Fast unbenutzt"},
{condition: "Keine erkennbaren Kratzer oder Flecken"},
{condition: "Leicht zerkratzt und schmutzig"},
{condition: "Es gibt Kratzer und Schmutz"},
{condition: "Insgesamt schlechter Zustand"}])
Sie müssen lediglich den folgenden Befehl im Terminal ausführen
bundle exec rake db:seed:condition
Sie haben die Daten in die Konditionstabelle eingetragen!
Wenn es sich um eine lokale Umgebung handelt, war dies in Ordnung, aber bei der Bereitstellung in einer Produktionsumgebung Ich wusste nicht, wie ich jede von mir erstellte Seed-Datei lesen sollte, daher konnte ich die Daten nicht wiedergeben.
Die folgende Beschreibung wurde zu seeds.rb hinzugefügt
seeds.rb
require "./db/seeds/condition.rb
Als ich den folgenden Befehl im Terminal der Produktionsumgebung ausführte, wurde er ordnungsgemäß wiedergegeben
python
require "./db/seeds/condition.rb
Ich frage mich, ob es mit aktivem Hash etwas einfacher hätte sein können, aber Da es einen Liefertermin gibt, habe ich ihn einmal so implementiert Ich würde gerne wissen, ob es einen anderen guten Weg gibt
Recommended Posts