Ayuda para resolver un error de enrutamiento en Rails
-
05-07-2019 - |
Pregunta
Tengo un controlador llamado form_questions_answers
con un método llamado modify_rule
pero cuando realizo una publicación a / form_questions_answers / modify_rule / 60
Rails me dice:
Routing Error
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}
¿Por qué sucede esto? Tengo map.resources: form_question_answers
en route.rb, y map.connect ': controller /: action /: id'
en la parte inferior del archivo route.rb, ¿por qué no se está activando la acción modify_rule
?
Solución
/ form_questions_answers / modify_rule / 60
no aceptaría POST en una base de map.resources. Sería un GET o un PUT en línea con REST.
Es posible que desee consultar guía de enrutamiento de rieles para obtener información sobre las rutas.
¡Feliz día del pavo!
Otros consejos
Si está utilizando rutas basadas en recursos, probablemente desee eliminar el predeterminado rutas . Dicho esto, es probable que desee agregar un nuevo miembro a su ruta form_question_answers
de esta manera:
map.resources 'form_questions_answers', :member => { :modify_rule => :post }
Puede leer más sobre agregar opciones a sus rutas aquí .