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?

War es hilfreich?

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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top