2009-11-27 111 views
0

我有一个名为form_questions_answers与方法叫modify_rule但是当我执行后,以/form_questions_answers/modify_rule/60 Rails的告诉我控制器:帮助解决Rails的路由错误

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操作?

+1

nm,原来我在action URL中有一个拼写错误 - 而不是'form_questions_answers'它应该是 - 'form_question_answers' - 一旦我修复了这个错误,它就像魔术一样工作。对不起,请关闭。 – Ash 2009-11-27 04:01:51

回答

1

/form_questions_answers/modify_rule/60不会在map.resources基础上接受POST。它可能是一个GET或与REST一致的PUT。

你可能想看看rails routing guide关于路线的一些信息。

土耳其节快乐!

0

如果您使用的是基于资源的路线,则可能需要删除default routes。这就是说,你可能想要一个新的成员添加到您的form_question_answers路线是这样的:

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

你可以阅读更多有关添加选项到你的路由here