RoutingError未初始化的常量

时间:2011-08-02 13:05:23

标签: ruby-on-rails-3 routing devise

我想在我的应用程序中使用token_authenticatable(使用Devise)。

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

要在数据库中生成authentication_token,我添加了行current_user.reset_authentication_token!作为create方法的第四行。

使用devise docimentation中的“配置控制器”部分,我在路线中添加了行devise_for :users, :controllers => {:sessions => "users/sessions"}

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

现在,当我尝试登录或在浏览器中注销时,我得到Routing Error uninitialized constant Users

我不知道会发生什么。我认为我将控制器类命名为错误,或者将其放错了,但不确定。

1 个答案:

答案 0 :(得分:3)

如果您希望控制器名为Users::SessionsController,则需要位于app/controllers/users/sessions_controller.rb

如果您不想要控制器的嵌套文件夹,也可以

class UserSessionsController 

位于app/controllers/user_sessions_controller.rb,路由为:devise_for :users, :controllers => {:sessions => "user_sessions"}