質問

modify_rule というメソッドを持つ form_questions_answers というコントローラーがありますが、 / form_questions_answers / modify_rule / 60 への投稿を実行するときRailsが教えてくれます:

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

これが発生する理由は、routes.rbに map.resources:form_question_answers があり、 map.connect ':controller /:action /:id' がroutes.rbファイルの一番下、なぜ modify_rule アクションがトリガーされないのですか?

役に立ちましたか?

解決

/ form_questions_answers / modify_rule / 60 は、map.resourcesベースでPOSTを受け入れません。 RESTに沿ったGETまたはPUTのいずれかです。

ルートに関する情報については、レールルーティングガイドをご覧ください。

ハッピーターキーデイ!

他のヒント

リソースベースのルートを使用している場合は、おそらくデフォルトを削除する必要があります。ルート。それは、おそらく次のような form_question_answers ルートに新しいメンバーを追加したいということです:

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

ルートへのオプションの追加に関する詳細は、こちら

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top