我使用
将一个会话控制器添加到我的应用程序中以进行用户登录/注销rails g controller Session new create destroy
然后将以下行添加到我的路径文件中:
资源:sessions,:only => [:new,:create,:destroy]
匹配'/ signup',:to => “用户#新”
匹配'/ signin',:to => “会话#新”
匹配'/ signout',:to =>的会话#破坏'
当我在控制台中执行rake routes
时,路线会显示,但是当我在浏览器中启动应用程序时,我收到此错误:
未初始化的常量SessionsController
提前致谢!
答案 0 :(得分:6)
您创建了一个Session
控制器,而不是Sessions
控制器。由于它是单数,你想要一个单一的路线:
resource :session, :only => [:new, :create, :destroy]
答案 1 :(得分:3)
我今天遇到了这个问题,发现我必须做三件事,1)使用资源(不是资源); 2)手动提供控制器,3)使用资源手动设置form_for标签中的URL(可能不适用于您的情况)......
# routes.rb
resource :session, :only => [:new, :create, :destroy], :controller => 'session'
#.../new.html.erb
<% form_for @session, :url => session_path do |f| %>
如果像我一样,您的控制器名称,文件名等都是单数的,那么指定控制器很重要。
这显然与bug in rails
有关