Aiuta a risolvere un errore di routing in Rails
-
05-07-2019 - |
Domanda
Ho un controller chiamato form_questions_answers
con un metodo in esso chiamato edit_rule
ma quando eseguo un post su / form_questions_answers / edit_rule / 60
Rails mi dice:
Routing Error
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}
Perché sta accadendo, ho map.resources: form_question_answers
in route.rb e map.connect ': controller /: action /: id'
sul in fondo al file route.rb, quindi perché l'azione edit_rule
non viene attivata?
Soluzione
/ form_questions_answers / edit_rule / 60
non accetterebbe il POST su base map.resources. Sarebbe un GET o un PUT in linea con REST.
Potresti dare un'occhiata guida al routing delle rotaie per alcune informazioni sui percorsi.
Buona giornata in Turchia!
Altri suggerimenti
Se stai utilizzando percorsi basati sulle risorse, probabilmente desideri rimuovere l'impostazione percorsi . Detto questo, probabilmente vorrai aggiungere un nuovo membro alla tua rotta form_question_answers
in questo modo:
map.resources 'form_questions_answers', :member => { :modify_rule => :post }
Puoi leggere ulteriori informazioni sull'aggiunta di opzioni ai tuoi percorsi qui .