RoutingError未初始化的常量 [英] RoutingError uninitialized constant
问题描述
我想在我的应用程序中使用token_authenticatable(使用Devise)。
使用这个答案我在文件 app / controllers / users_sessions_controller.rb中添加了
class Users :: SessionsController
/ code>(文件位置是否正确?)。要在数据库中生成authentication_token,我添加了一行 current_user.reset_authentication_token!
作为create方法的第四行。
使用设计修改我添加了行 devise_for:users,:controllers => {:sessions => users / sessions}
到我的路线。
我还有文件 app / views / users / session / new.html.erb
。
现在,当我尝试登录或退出浏览器时,我得到路由错误未初始化的常量用户
。
我不知道会发生什么。我认为我命名控制器类错了,或者把它放在错误的位置,但不知道。
控制器名为 Users :: SessionsController
然后它需要在 app / controllers / users / sessions_controller.rb
如果您不想为控制器嵌套文件夹,您还可以执行
class UserSessionsController
位于 app / controllers / user_sessions_controller.rb
路由为: devise_for:users,:controllers => {:sessions => user_sessions}
I want to use token_authenticatable in my application (using Devise).
Using this answer I added class Users::SessionsController
in file app/controllers/users_sessions_controller.rb
(is file location correct?).
To generate authentication_token in database I added line current_user.reset_authentication_token!
as fourth line of create method.
Using "Configuring Controllers" section from devise docimentation I added line devise_for :users, :controllers => {:sessions => "users/sessions"}
to my routes.
I also have file app/views/users/session/new.html.erb
.
Now when I try to log in or log out in browser, I get Routing Error uninitialized constant Users
.
I have no idea what happens. I think I named controller class wrong, or placed it incorrectly, but don't know for sure.
If you want your controller named Users::SessionsController
then it need to be in app/controllers/users/sessions_controller.rb
If you don't want nested folders for your controllers you could also do
class UserSessionsController
located at app/controllers/user_sessions_controller.rb
with the routes being: devise_for :users, :controllers => {:sessions => "user_sessions"}
这篇关于RoutingError未初始化的常量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!