Hilfe eines Routing-Fehler in Rails zu lösen
-
05-07-2019 - |
Frage
Ich habe einen Controller form_questions_answers
mit einem Verfahren darin modify_rule
genannt genannt, aber wenn ich einen Beitrag ausführen Rails /form_questions_answers/modify_rule/60
sagt mir:
Routing Error
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}
Warum das passiert ist, habe ich in routes.rb und map.resources :form_question_answers
am unteren Rand der routes.rb Datei map.connect ':controller/:action/:id'
, also warum nicht die modify_rule
Aktion ausgelöst werden?
Lösung
/form_questions_answers/modify_rule/60
würde nicht POST auf einem map.resources Basis akzeptieren. Es wäre entweder ein GET oder PUT in Einklang mit REST sein.
Sie vielleicht einen Blick Schienen Routing-Guide für einige Informationen über Routen zu nehmen.
Happy Truthahntag!
Andere Tipps
Wenn Sie Ressource basierend Routen verwenden Sie wahrscheinlich wollen die Standard Routen . Das heißt Sie wahrscheinlich ein neues Mitglied in Ihrer form_question_answers
Route wie folgt hinzufügen möchten:
map.resources 'form_questions_answers', :member => { :modify_rule => :post }
Sie können mehr lesen über Optionen auf Ihre Routen Hinzufügen von hier .