2015-10-14 62 views
0

在Kevin Skoglund的初级课程Ruby on Rails 3基础培训中,我被要求将以下代码行添加到我的routes.rb文件中。 match ':controller(/:action(/:id(.:format)))'并注释掉该行get 'demo/index'。根据教程我应该得到一个路由错误,但相反,我得到以下参数错误。 (你不应该在你的路由器中使用match方法,而不指定HTTP方法,如果你想让你的动作同时暴露给GET和POST,可以添加via: [:get, :post]选项,如果你想将你的动作暴露给GET,在路由器中使用get。而不是:匹配“控制器#行动”做:获得“控制器#行动”)。在Ruby on Rails中发现路由错误时收到参数错误

+0

好吧,这听起来像是很好的建议。你尝试过吗? – jjk

+0

我做了,它确实使Web应用程序工作,我在'match'代码后面添加了'via:[:get,:post]'。但我应该至少得到主页的路由错误。这应该教给我们关于“rails默认路由”的概念。 @jjk –

回答

1

您正在学习为Rails 3设计的课程,但使用的是Rails 4.这就是您遇到问题的原因! match已在Rails 4中更改。

+0

哦,我的上帝,这解释了一吨谢谢你。 @dan philips –

+0

没问题!如果你想要一个好的Rails 4教程,总是强烈推荐这个教程: [Michael Hartl的Rails教程](https://www.railstutorial.org/book) – danmakenoise