0

form_questions_answers呼び出されたメソッドで呼び出されたコントローラーがありますが、 Railsmodify_ruleへの投稿を実行すると、次のように通知されます。/form_questions_answers/modify_rule/60

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

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

4

2 に答える 2

1

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

ルートに関する情報については、Rails ルーティング ガイドを参照してください。

七面鳥の日おめでとう!

于 2009-11-27T03:54:59.350 に答える
0

リソース ベースのルートを使用している場合は、デフォルト ルートを削除することをお勧めします。form_question_answersとはいえ、おそらく次のようにルートに新しいメンバーを追加したいと思うでしょう:

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

ルートへのオプションの追加について詳しくは、こちらをご覧ください。

于 2009-11-27T03:59:52.180 に答える