Rails路由不起作用

时间:2015-02-13 08:37:08

标签: ruby-on-rails ruby devise

我开发了一个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。

你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

我相信这是预期的行为。如果您在未登录的情况下访问任何正确设置的控制器,它将引导您到/ users / sign_in。在您通过身份验证后,它应该路由到您的根操作。

答案 1 :(得分:0)

您能为我们提供agregata控制器的代码吗?如果用户已登录,您可能正在此处查看,如果没有,则设计将重定向到sign_in路径。它可能看起来像

before_action :authenticate_user!

在agregata控制器或应用程序控制器中