Domanda

Ho il modello:

  • User -1---n- Transaction(amount,description, date)
  • User -1---n- TransactionImport -1---n- TransactonImportField(name,value)

(spesa personale di monitoraggio app).

Quello che voglio ottenere è questo:

  1. L'utente apre URL e incolla il CSV con l'elenco delle transazioni.
  2. sottomette Utenti it.
  3. sistema estrae dati dal CSV in TransactionImport (riga) + TransactionImportField (cella).
  4. L'utente può scegliere quali mezzi colonna quello (importo, descrizione, data) dai dati importati in TransactionImport(Field).
  5. Utente clic su Salva e il sistema trasferisce TransactionImport nella transazione.

Quello che non riesco a ottenere destra è il fatto che il punto 3 crea più record di TransactionImport (e relativo TransactionImportField).

Così facendo POST /transaction_imports?csv=abcd si prevede di produrre un record se ci sarebbe RESTful. Ma il codice dovrebbe essere qualcosa di simile:

# TransactionImportsController
def create
  result = TransactionImports.parse(params[:csv])
  flash[:notice] = result.message
  redirect_to transaction_imports_path
end

sto probabilmente avvicinando il compito da un angolo sbagliato come mi sento che l'attuazione non rientra nel tp inherited_resources .

Potete trasmettere quello che sarebbe il modo più convenzionale di attuazione del presente?

Grazie,
Dmytrii.

È stato utile?

Soluzione

REST / HTTP non ha alcuna aspettativa che fare POST creerà un solo record. Che forse il default binari comportamento, ma non si deve limitare il vostro disegno a causa di questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top