Question

J'ai un contrôleur appelé form_questions_answers qui contient une méthode appelée modify_rule , mais lorsque j'effectue une publication sur / form_questions_answers / modify_rule / 60 Rails me dit:

Routing Error
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}

Pourquoi cela se produit-il? J'ai map.resources: form_question_answers dans routes.rb et map.connect ': controller /: action /: id' à l'emplacement suivant: bas du fichier routes.rb, alors pourquoi l’action modify_rule n’est-elle pas déclenchée?

Était-ce utile?

La solution

/ form_questions_answers / modify_rule / 60 n'accepterait pas le POST sur une base map.resources. Ce serait soit un GET, soit un PUT conforme à REST.

Vous pouvez consulter le guide de routage des rails pour obtenir des informations sur les itinéraires.

Bonne fête de la dinde!

Autres conseils

Si vous utilisez des itinéraires basés sur des ressources, vous souhaiterez probablement supprimer le default. itinéraires . Cela dit, vous voudrez probablement ajouter un nouveau membre à votre route form_question_answers comme suit:

map.resources 'form_questions_answers', :member => { :modify_rule => :post } 

Vous pouvez en savoir plus sur l'ajout d'options à vos itinéraires ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top