我有一个名为 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 ,而在 map.connect':controller /:action /:id' routes.rb文件的底部,为什么不触发 modify_rule 操作?

有帮助吗?

解决方案

/ form_questions_answers / modify_rule / 60 不接受基于map.resources的POST。它可以是符合REST的GET或PUT。

您可能需要查看 rails路线指南,了解有关路线的一些信息。

快乐的火鸡日!

其他提示

如果您使用的是基于资源的路线,则可能需要删除默认路线的航线。这就是说你可能想在你的 form_question_answers 路线中添加一个新成员,如下所示:

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

您可以阅读有关向路线添加选项的更多信息此处

scroll top