routage classique imbriqué RESTful
-
30-09-2019 - |
Question
Je le modèle:
-
User -1---n- Transaction(amount,description, date)
-
User -1---n- TransactionImport -1---n- TransactonImportField(name,value)
(application de suivi des dépenses personnelles).
Ce que je veux atteindre est le suivant:
- L'utilisateur ouvre l'URL et colle le CSV avec la liste des transactions.
- soumet l'utilisateur il.
- les données de configuration du système de CSV dans
TransactionImport
(rangée) +TransactionImportField
(cellulaire). - L'utilisateur peut choisir le moyen de colonne que (quantité, description, date) à partir des données importées dans
TransactionImport(Field)
. - Cliquez Permet d'enregistrer et le système transfère
TransactionImport
dans la transaction.
Ce que je ne peux pas sembler obtenir est juste le fait que l'étape 3 crée plusieurs enregistrements de TransactionImport
(et TransactionImportField
connexes).
Ce faisant POST /transaction_imports?csv=abcd
devrait produire un enregistrement si nous serions RESTful. Mais le code est censé être quelque chose comme ceci:
# TransactionImportsController
def create
result = TransactionImports.parse(params[:csv])
flash[:notice] = result.message
redirect_to transaction_imports_path
end
Je me rapproche probablement la tâche d'un mauvais angle que je pense que la mise en œuvre ne rentre pas dans le tp inherited_resources .
Pouvez-vous conseiller ce serait la façon la plus classique de la mise en œuvre cela?
Merci,
Dmytrii.
La solution
REST / HTTP n'a pas d'attente que faire POST ne fera que créer un enregistrement. Cela peut-être le comportement par défaut de rails, mais vous ne devriez pas limiter votre conception à cause de cela.