J'ai une application simple pour calculer un devis pour un travail de cadrage. L'utilisateur entre toutes les données dans un formulaire, puis l'application calcule le devis en fonction de ces données.Ruby on Rails - Créer une commande à partir d'un devis
L'utilisateur doit alors indiquer s'il souhaite créer une commande à partir de ce devis, s'il sélectionne ou entre un nouveau client pour associer cette commande et que l'application crée la commande. Quelle est la meilleure façon de faire cela dans Ruby on Rails, dois-je stocker les données de formulaire dans une session et ensuite utiliser cette session pour créer la commande si l'utilisateur décide de créer une commande à partir de la citation?
Voici le schéma correspondant:
create_table "orders", :force => true do |t|
t.string "status"
t.integer "customer_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "order_items", :force => true do |t|
t.integer "order_id"
t.integer "height"
t.integer "width"
t.string "mount"
t.integer "mount_width"
t.string "moulding_1"
t.string "moulding_2"
t.string "moulding_3"
t.boolean "glass"
t.boolean "backing_board"
end
create_table "customers", :force => true do |t|
t.string "name"
t.string "address"
t.string "tel_number"
t.string "email_address"
t.datetime "created_at"
t.datetime "updated_at"
end
Cette approche entraînerait sûrement un élément de commande orphelin dans la base de données? – freshest
Oui, mais est-ce important? Vous obtenez en échange des informations puissantes sur votre entonnoir. Connaître votre taux d'attrition (combien de personnes créent une commande et repartir avant de l'acheter) est une information très précieuse du point de vue de l'analyse commerciale. De plus, si vous êtes préoccupé par beaucoup de cruft dans votre base de données, exécutez simplement un nettoyeur qui supprime les anciens orphelins. –