我几天前创建了一个新的rails应用程序,并开始使用这些模型。我有一个由设计管理的用户模型,我试图让登录工作。我首先将root设置为用户会话控制器,如下所示:
root 'devise/sessions#new'
然后,当我在浏览器中找到我的应用程序的根目录时,它显示“我们很抱歉,但出了点问题。”页。我尝试建立一条虚假路线,如:
get 'test/routes', to: 'devise/sessions#new'
当我尝试导航到这条路线时,我得到了相同的错误页面。我检查了日志,看看发生了什么,问题是什么都没发生。看起来路由器甚至无法工作,因为日志中没有显示任何页面请求。我似乎无法弄清楚为什么会发生这种情况,任何帮助都会受到赞赏!
答案 0 :(得分:0)
devise_scope :user do
root 'devise/sessions#new'
end
应该解决问题。
设定设计
/ sessions#new as root不是一个好主意。如果用户已登录,则设计/会话#new重定向到'/'。如果用户已登录,这将导致重定向循环。
如果有一些咨询中心控制器作为root,检查用户是否已登录并重定向到设计/会话#new,如果不是,则更好。