RESTful instradamento convenzionale nested
-
30-09-2019 - |
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:
- L'utente apre URL e incolla il CSV con l'elenco delle transazioni.
- sottomette Utenti it.
- sistema estrae dati dal CSV in
TransactionImport
(riga) +TransactionImportField
(cella). - L'utente può scegliere quali mezzi colonna quello (importo, descrizione, data) dai dati importati in
TransactionImport(Field)
. - 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.
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.