L'équipe crée un site clone pour une certaine application frima. À ce moment-là, j'ai eu un peu de mal à gérer le fichier d'amorçage, je vais donc le laisser sous forme de mémorandum.
Lors de la mise en vente d'un produit, l '«état du produit», les «frais de livraison», etc., etc. Saisissez d'abord la valeur dans la base de données afin de pouvoir la sélectionner dans le menu déroulant.
Comme ça
Créez seed.rake directement sous lib / tasks / et décrivez ce qui suit
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
Créez un répertoire db / seeds et créez un fichier de "nom du modèle.rb où vous voulez mettre les données" dedans Pour le moment, créez Condition.rb qui montre l'état du produit
db/seeds/Condition.rb
conditions = Condition.create([
{condition: "Nouveau / inutilisé"},
{condition: "Presque inutilisé"},
{condition: "Pas de rayures ou de taches visibles"},
{condition: "Légèrement rayé et sale"},
{condition: "Il y a des rayures et de la saleté"},
{condition: "Mauvais état général"}])
Tout ce que vous avez à faire est d'exécuter la commande suivante dans le terminal
bundle exec rake db:seed:condition
Vous avez mis les données dans le tableau des conditions!
S'il s'agit d'un environnement local, tout allait bien tel quel, mais lors du déploiement dans un environnement de production Je ne savais pas comment lire chaque fichier de départ que j'avais créé, je ne pouvais donc pas refléter les données.
Ajout de la description suivante à seeds.rb
seeds.rb
require "./db/seeds/condition.rb
Lorsque j'ai exécuté la commande suivante dans le terminal de l'environnement de production, cela s'est reflété correctement
python
require "./db/seeds/condition.rb
Je me demande si cela aurait pu être rendu un peu plus facile avec le hachage actif, mais Puisqu'il y a une date de livraison, je l'ai implémentée de cette façon une fois J'aimerais savoir s'il existe un autre bon moyen
Recommended Posts