Ich habe eine einfache Anwendung, um ein Angebot für einen Bilderrahmen Job zu berechnen. Der Benutzer gibt alle Daten in ein Formular ein, und dann berechnet die Anwendung das Angebot basierend auf diesen Daten.Ruby on Rails - Erstellen Sie eine Bestellung aus einem Angebot
Der Benutzer wird dann gefragt, ob er einen Auftrag aus diesem Angebot erstellen möchte. Wenn dies der Fall ist, wählt der Benutzer einen neuen Kunden aus oder gibt einen neuen Kunden ein, um diesen Auftrag zu verknüpfen, und die Anwendung erstellt den Auftrag.
Was ist der beste Weg, dies in Ruby on Rails zu tun, speichere ich die Formulardaten in einer Sitzung und dann diese Sitzung verwenden, um den Auftrag zu erstellen, wenn der Benutzer entscheidet, eine Bestellung aus dem Angebot zu erstellen?
Hier ist das das entsprechende Schema:
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
Sicher würde dieser Ansatz verwaisten Bestellartikel in der Datenbank führen? – freshest
Ja, aber ist das wichtig? Sie erhalten im Austausch mächtige Informationen über Ihren Trichter. Kenne deine Fluktuationsrate (wie viele Leute eine Bestellung erstellen und verlasse sie, bevor du sie kaufst) ist sehr wertvolle Information aus Sicht der Business-Analyse. Wenn Sie sich außerdem Sorgen um eine Menge Gruft in Ihrer Datenbank machen, dann führen Sie einfach einen Aufräumarbeiter aus, der alte Waisen so oft löscht. –