3

在我的本地机器上,当我在http://subdomain.myapp.dev(使用 Pow 服务器)进行身份验证时,我被正确地重定向到索引页面。

登录生产域http://subdomain.myapp.com(托管在 Heroku 上)时,我也能够正确进行身份验证;但是,Heroku 不会重定向到索引页面。提交必要的凭据后,我会收到“登录成功”通知,但仍停留在登录页面上。

rake routesheroku run rake routes返回相同的路由方案。我还在下面列出了我的 routes.rb 文件的内容

Example::Application.routes.draw do  

  devise_scope :user do
    authenticated :user do
      root :to => 'admin/servers#index'
    end

    unauthenticated :user do
      root :to => 'devise/sessions#new'
    end
  end

  resources :server_imports
  resources :servers

  devise_for :users

  ActiveAdmin.routes(self)
end

以下是输入登录凭据后的日志:

2013-10-12T01:59:32.110046+00:00 app[web.1]: Started POST "/users/sign_in" 
2013-10-12T01:59:32.529842+00:00 app[web.1]: Started GET "/"

这是第一行heroku run rake routes

root GET    /     admin/servers#index

如上所述,成功验证后,我仍然会重新路由到登录页面。我很困惑为什么这个问题只出现在 Heroku 而不是我的本地机器上

4

1 回答 1

2

为什么不做这样的事情:

def after_sign_in_path_for(resource)
    admin_servers_index_path
end

请参阅:https ://github.com/plataformatec/devise/wiki/How-To%3A-Redirect-to-a-specific-page-on-successful-sign-in-and-sign-out

于 2013-10-11T19:08:57.340 回答