在我的本地機器上,當我在http://subdomain.myapp.dev(使用Pow服務器)進行身份驗證時,我被正確地重定向到索引頁面。Rails應用程序中的Heroku路由錯誤
登錄到生產域http://subdomain.myapp.com(託管在Heroku上)時,我也能夠正確驗證身份;然而,Heroku沒有重定向到索引頁面。提交必要的憑證後,我會收到「成功簽名」通知,但仍保留在登錄頁面上。
rake routes
和heroku 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 "https://stackoverflow.com/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上,而不是我的本地機器上
這完全搞砸我的大腦了,因爲一切我想到了。有兩件事情可能會發生 - 您可能需要將devise_for:用戶放在devise_scope之上,並且ActiveAdmin可能在Heroku上的工作方式不同? –
@RichPeck不幸的是,在devise_scope上方移動'devise_for:users'沒有解決問題 – Anconia
@Anconia是在登錄問題後重定向或根本無法登錄?最後一種情況可能是由於cookie問題,特別是如果你做了一些SSL的東西。 – phoet