我有一个名为form_questions_answers
的控制器,其中有一个名为modify_rule
的方法,但当我向/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
,在routes.rb文件的底部有map.connect ':controller/:action/:id'
,那么为什么不会触发modify_rule
操作?
答案 0 :(得分:1)
/form_questions_answers/modify_rule/60
不会在map.resources的基础上接受POST。它可以是符合REST的GET或PUT。
您可能需要查看rails routing guide以获取有关路线的信息。
快乐的火鸡日!
答案 1 :(得分:0)
如果您使用的是基于资源的路线,则可能需要删除default routes。这就是说你可能想在你的form_question_answers
路线上添加一个新成员:
map.resources 'form_questions_answers', :member => { :modify_rule => :post }
您可以阅读有关向路线here添加选项的详情。