使用 devise 必须要自己定义 root_url 吗? 我想实现的功能是在 root 页面直接显示一个登录表单,于是我试了下面几个方法: 1、直接在 routes 中定义 root。
devise_for :users
root :to => 'devise/sessions#new'
结果报错
Could not find devise mapping for path "/".
2、新建一个 controller,让这个 controller 继承自 devise。 weibo_controller.rb
class WeiboController < Devise::SessionsController
def index
end
end
routes.rb
devise_for :users
root :to => 'weibo#index'
结果还是上面的报错。 3、参照 github 上面自定义 controller 的方法,创建一个 Users::Seesions controller,并让它继承 devise,然后设置 routes。 sessions_controller.rb
class Users::SessionsController < Devise::SeesionsController
end
routes.rb
devise_for :users, :controllers => { :sessions => "users/sessions" }
root :to => 'users/sessions#new'
结果报错
uninitialized constant Devise::SeesionsController