我开发了一个rails 4 web应用程序,我遇到了一个问题:
我的routes.rb文件如下所示:
Rails.application.routes.draw do
root 'agregator#arata'
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
end
当我没有登录并尝试访问http://localhost:3000时,我的rails应用程序转到http://localhost:3000/users/sign_in,尽管我在routes.rb文件的开头设置了根路由。如果我已登录,该应用程序将进入我想要的位置。
提及我使用devise进行身份验证,这是我第一次使用devise。
你能帮助我吗?
答案 0 :(得分:1)
我相信这是预期的行为。如果您在未登录的情况下访问任何正确设置的控制器,它将引导您到/ users / sign_in。在您通过身份验证后,它应该路由到您的根操作。
答案 1 :(得分:0)
您能为我们提供agregata控制器的代码吗?如果用户已登录,您可能正在此处查看,如果没有,则设计将重定向到sign_in路径。它可能看起来像
before_action :authenticate_user!