2011-05-14 38 views
3

這是我第一次使用設計,我很困惑大量的文件和配置選項。 在安裝devise之前,我使用了ryan bates的nifty:authentication - 我在安裝devise之前沒有刪除它,現在我想我的路由和/或控制器有點搞砸了。rails3設計 - 沒有路由匹配「/會話/用戶」

好,上/用戶在唱歌后/ sign_in色器件試圖給我重定向到

http://localhost:3000/sessions/user 

,但我得到的錯誤:

No route matches "/sessions/user" 

我不知道哪裏是錯誤,任何幫助讚賞

我把所有的相關代碼的要點:https://gist.github.com/972058

在此先感謝

+0

fwiw我通過使用之前使用的漂亮:授權的完整回滾來解決它。 (rails破壞漂亮:授權) 當我再次生成用戶模型和控制器並清理了一些路由後,它現在可以工作。 – tmaximini 2011-05-14 15:32:06

+0

你可以發佈你的config/routes.rb文件嗎? – Tilo 2011-10-06 07:33:52

回答

1

這是因爲您的路線中沒有根路徑。正如你可以在色器件頁閱讀:https://github.com/plataformatec/devise

After signing in a user, confirming the account or updating the password, Devise will look for a scoped root path to redirect. Example: For a :user resource, it will use user_root_path if it exists, otherwise default root_path will be used. This means that you need to set the root inside your routes

要指定重定向頁面,你需要做到這一點https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in

BTW。你不需要會話控制器使其工作

+0

我已經在根目錄中:to =>「pages#index」 在我的路由文件中(line 88在主要routes.rb中) - 似乎沒有工作 – tmaximini 2011-05-14 09:53:48

+0

然後嘗試爲sign_in指定重定向頁面。我猜這是行不通的,因爲會話控制器沒有與用戶連接,也沒有用戶方法,所以它不會找到會話/用戶(但我不知道爲什麼設計重定向在那裏; /嘗試這個https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in) – Greg 2011-05-14 10:10:06

+0

謝謝格雷格我試過但沒有成功...仍然得到相同的錯誤。它必須與views/devise/session/new.html.erb中的這一行有關。「<%= form_for(resource,:as => resource_name,:url => session_path(resource_name))do | f |」 – tmaximini 2011-05-14 10:22:22

3

在我的情況,我有一個會議控制器,這是造成問題。刪除資源:來自路由文件的會話應解決問題。那是因爲我之前創建了一個會話管理器。一旦消失,我再也看不到這個問題。

相關問題