2011-08-02 50 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

相关问题