2011-06-10 92 views
1

我的名字是胡安我來自西班牙,這是我的第一篇文章。謝謝。路由錯誤沒有路由匹配「/ users/new」

我之後的第8章

我的問題在Ruby on Rails的教程邁克爾·哈特爾的是,創造這一章中註冊用戶的形式。

他說,行動去「行動= /用戶」,但我的代碼可以與螢火蟲看到它的行動去:

action="https://stackoverflow.com/users/new".

然後,當我去點擊註冊按鈕的動作去行動=「/用戶/新」和下一個錯誤:

路由錯誤 沒有路由匹配「/用戶/新」

我沒有rspec規範錯誤/或自動測試它的一切OK !!

你能幫我解決這個問題嗎?該幫手使用了它的「form_for」

非常感謝!

+0

顯示一些代碼.. – 2011-06-10 15:28:41

+0

請更新您的問題並顯示您的routes.rb文件和您的form_for代碼。 – Brian 2011-06-10 16:01:31

回答

2

更新

確定。我已經檢查了教程的代碼。問題的根源在於你傳遞給form_for的對象。請檢查您的users_controller的新動作是否包含此行:

@user = User.new 

此行創建一個新的AR對象,但不會將其保存到數據庫。所以當你將它傳遞給form_for時,Rails知道它應該生成一個用於創建動作的表單(POST /用戶)。

https://github.com/railstutorial/sample_app以下是教程應用程序的完整源代碼。你可能會覺得它很有用。它有時會更新以修復錯誤和拼寫錯誤。

還有最後一件事。你有沒有嘗試重新啓動你的網絡服務器?

+0

感謝您的回覆。但是,我應該將代碼更改爲form_tag'/ users'。在那個文件中? 因爲我在教程中看不到改變它的地方。 – hyperrjas 2011-06-10 18:31:37

+0

我已經更新了我的答案,請查看。如果它沒有幫助,發佈一些代碼(視圖,控制器,路線) - 也許有一個錯字或什麼的。 – bassneck 2011-06-10 20:26:58

+0

非常感謝我在代碼中:@user =「User.new」,而不是@user = User.new在引號內。我是dork :( 問題已修復非常感謝Bassneck,Nick和All Stackoverflow:D – hyperrjas 2011-06-11 07:55:06

2

你有

resources :users 
在你的routes.rb

+0

是的,我有資源:config/routes.rb中的用戶:D – hyperrjas 2011-06-10 18:12:39

相關問題