2015-10-14 57 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