RoutingError未初始化的常量 [英] RoutingError uninitialized constant

查看:224
本文介绍了RoutingError未初始化的常量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的应用程序中使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆