RESTful nested herkömmlicher Routing
-
30-09-2019 - |
Frage
Ich habe das Modell:
-
User -1---n- Transaction(amount,description, date)
-
User -1---n- TransactionImport -1---n- TransactonImportField(name,value)
(persönlich Kosten-Tracking-app).
Was ich erreichen will, ist dies:
- Benutzer öffnet URL und fügt die CSV mit der Liste der Transaktionen.
- Benutzer sendet es.
- System extrahiert Daten aus CSV in
TransactionImport
(row) +TransactionImportField
(Zelle). - Benutzer kann wählen, welche Spalte bedeutet, was (Menge, Beschreibung, Datum) aus den importierten Daten in
TransactionImport(Field)
. - Benutzer Klick speichern und das System überträgt
TransactionImport
in die Transaktion.
Was kann ich nicht richtig zu machen scheint, ist die Tatsache, dass Schritt 3 mehrere Datensätze von TransactionImport
(und der damit verbundenen TransactionImportField
) erstellt.
Damit POST /transaction_imports?csv=abcd
wird erwartet, dass ein Datensatz zu erzeugen, wenn wir RESTful seien. Aber der Code sollte so etwas sein:
# TransactionImportsController
def create
result = TransactionImports.parse(params[:csv])
flash[:notice] = result.message
redirect_to transaction_imports_path
end
Ich nähere mich wohl die Aufgabe, aus einem falschen Winkel, wie ich, dass die Umsetzung nicht das Gefühl, in passen tp die inherited_resources .
Könnten Sie bitte beraten, was die meisten herkömmlichen Weg, dies umzusetzen wäre?
Danke,
Dmytrii.
Lösung
REST / HTTP hat keine Erwartung, dass POST tun wird nur ein Datensatz erstellen. Dass vielleicht die Standardschienen Verhalten, aber Sie sollten Ihr Design nicht einschränken, weil das.