Résumé rapide: J'ai une application Rails qui est une liste de contrôle personnelle/à faire. Fondamentalement, vous pouvez vous connecter et gérer votre liste de tâches. Lorsqu'un utilisateur crée un nouveau compte, je souhaite remplir sa liste de contrôle avec 20 à 30 éléments de tâche par défaut. Je sais que je pourrais dire:Comment remplir une table dans des rails à partir d'un appareil?
wash_the_car = ChecklistItem.new
wash_the_car.name = 'Wash and wax the Ford F650.'
wash_the_car.user = @new_user
wash_the_car.save!
...repeat 20 times...
Cependant, je dispose de 20 lignes de ChecklistItem à peupler, de sorte que serait 60 lignes de code très humide (aka pas DRY). Il doit y avoir un meilleur moyen. Je souhaite donc utiliser la table ChecklistItems à partir d'un fichier YAML lors de la création du compte. Le fichier YAML peut avoir tous mes objets ChecklistItem à remplir. Lorsqu'un nouvel utilisateur est créé - bam! - les tâches à faire prédéfinies sont dans leur liste.
Comment faire?
Merci!
(PS: Pour ceux d'entre vous qui se demandent pourquoi je suis en train de faire un login client pour ma société de conception de sites web, j'ai un ensemble de 20 étapes (première réunion, conception, validation, test, etc. Ces 20 étapes sont les 20 éléments de la liste de contrôle que je veux remplir pour chaque nouveau client, cependant, alors que tout le monde commence avec les mêmes 20 éléments, je personnalise normalement les étapes que je vais prendre en fonction de chaque client. projet (et donc ma mise en œuvre de liste de choses à faire et le désir de remplir les lignes par programme) Si vous avez des questions, je peux expliquer plus loin
@ new_user.checklist_items.create! : name => 'Laver et cirer la Ford F650.' –
encore mieux, je modise votre réponse. – MickaelFM