Wie erstelle ich ein Formular, das mehrere Elemente eines Modells eingibt?
-
18-09-2019 - |
Frage
Ich habe einen einfachen Point-of-Sale-Anwendung geschrieben in Ruby und Rails und Hobo.
Die ursprünglich für nur ein Produkt zum Zeitpunkt sein sollte, jetzt der Kunde will mehrere Produkte in den Verkauf Modell
hinzufügenAußerdem i Marken verwenden für Produkte und in meiner neuen Verkauf Form Kategorisieren verwende i Ajax, um ein ausgewähltes Produkt Verfahren nach der Auswahl der Marke in einem anderen Auswahlmenü zu füllen.
Also, was ich will, ist mein aktuelles System zu verwenden und nur meine neuen Verkauf Form ändern, wenn möglicherweise mehrere Produkte zu einem Verkauf
hinzufügenLösung 3
Ich hatte einen Wagen Modell als Behälter für Produkte zu schaffen, dann gehen Sie zu meinem Verkauf mit dem Wagen zu verwenden, und von dort weiter .. Validierungen und Sachen haben neu programmiert werden
Andere Tipps
Ich denke, Sie haben eine has_one
Beziehung zwischen dem Verkauf und einem Produkt.
Die Idee wäre, dass die Beziehung zu einem has_and_belongs_to_many .
So in Ihrer Datenbank, Sie viele Produkte für einen Verkauf und viele Verkäufe für ein Produkt haben könnten.
Für die Implementierung, können Sie verschachtelte Attribute die Produkte für einen Verkauf anzuzeigen und hinzuzufügen, oder einige entfernen.
Was Sie wahrscheinlich suchen sie ist es, die Werte zu ändern, die von einem Produkt auf viele aus dem Formular gepostet. Bevor Sie wahrscheinlich so etwas wie diese geschrieben:
product_id = 123 product_qty = 1
und jetzt wollen Sie so etwas schreiben
product_id [0] = 123 product_qty [0] = 1 product_id [1] = 456 product_qty [1] = 7
oder noch besser
Produkt [123] .qty = 1 Produkt [456] .qty = 7
In dem Formular müssen Sie diese Produkte Variablen erstellen und sie anders. Dann kannst du sie in der gleichen Form Sie verwenden, aber Blick auf die Protokolle und sehen, wie Schienen sie in das Objekt params zuordnen. Dann in Ihrem Controller uns, dass Mapping die mehrere Objekte zu ziehen.
Ich habe eine Tonne von dem Railscast Bildschirm wirft gelernt. Sie nehmen nicht lange, und gerade jemand lösen Probleme in <10 Minuten ist so viel Spaß. Versuchen Sie dieses http://railscasts.com/episodes/73-complex-forms -Teil-1