2011-08-02 57 views
1

我想在我的應用程序中使用token_authenticatable(使用Devise)。RoutingError未初始化常量

使用this回答我在文件app/controllers/users_sessions_controller.rb(文件位置正確?)中添加了class Users::SessionsController

爲了產生authentication_token在數據庫I加入線current_user.reset_authentication_token!作爲創建方法的第四行。

使用「配置控制器」部分,從devise docimentation我添加的行devise_for :users, :controllers => {:sessions => "users/sessions"}我的路線。

我也有文件app/views/users/session/new.html.erb

現在,當我試圖登錄或瀏覽器註銷,我得到Routing Error uninitialized constant Users

我不知道會發生什麼。我想我命名控制器類錯誤,或錯誤地放置它,但不知道確定。

回答

3

如果你希望你的控制器命名Users::SessionsController則需要在app/controllers/users/sessions_controller.rb

如果你不希望你的控制器,你也可以做

class UserSessionsController 

位於app/controllers/user_sessions_controller.rb與路線嵌套文件夾是:devise_for :users, :controllers => {:sessions => "user_sessions"}

+0

呀,正好!我昨天知道了,但你的回答是正確的和有幫助的。感謝您的解釋:) – Mateusz

+0

兩年後,你讓我的夜晚變得有點恐怖! :) – sebkkom

相關問題