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:

  1. Benutzer öffnet URL und fügt die CSV mit der Liste der Transaktionen.
  2. Benutzer sendet es.
  3. System extrahiert Daten aus CSV in TransactionImport (row) + TransactionImportField (Zelle).
  4. Benutzer kann wählen, welche Spalte bedeutet, was (Menge, Beschreibung, Datum) aus den importierten Daten in TransactionImport(Field).
  5. 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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top