我想在我的应用程序中使用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
。
我不知道会发生什么。我认为我将控制器类命名为错误,或者将其放错了,但不确定。
答案 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"}