Pregunta

Tengo el modelo:

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

(gasto personal seguimiento de la aplicación).

Lo que quiero lograr es la siguiente:

  1. Se abre Usuario URL y pega la CSV con la lista de las transacciones.
  2. somete usuario a él.
  3. Datos del sistema extractos de CSV en TransactionImport (fila) + TransactionImportField (celular).
  4. El usuario puede elegir qué medias de columnas lo que (cantidad, descripción, fecha) a partir de los datos importados en TransactionImport(Field).
  5. El usuario haga clic en Guardar y la TransactionImport sistema transfiere a la transacción.

Lo que parece que no puede hacerlo bien es el hecho de que el paso 3 crea múltiples registros de TransactionImport (y TransactionImportField relacionada).

Se espera que POST /transaction_imports?csv=abcd Al hacerlo para producir un registro si queremos ser reparador. Sin embargo, el código se supone que es algo como esto:

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

probablemente estoy acercando a la tarea desde un ángulo equivocado ya que siento que la aplicación no cabe en el tp inherited_resources .

¿Podría usted por favor avise lo que sería la forma más convencional de implementar esto?

Gracias,
Dmytrii.

¿Fue útil?

Solución

REST / HTTP no tiene ninguna expectativa de que la POST haciendo sólo creará un registro. Que tal vez el defecto carriles de comportamiento, pero no se debe limitar su diseño debido a eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top