Rails OmniAuth失败登录路线生产ENV

时间:2012-10-11 09:59:27

标签: ruby-on-rails ruby routes omniauth koala

我有一个应用程序,您可以使用Facebook登录。这使用了Omniauth和考拉,它们在开发ENV中都很好用。

但是,在部署到subURI的生产模式中,我的操作和登录路由失败。部署的URL如下所示,代码如下:

www.domain_name/rails_app

尝试登录URL时

www.domain_name/auth/facebook 

不是

www.domain_name/rails_app/auth/facebook

的routes.rb

  match 'auth/:provider/callback', to: 'sessions#create' 
  match 'auth/failure', to: redirect('/')
  match 'signout', to: 'sessions#destroy', as: 'signout'

登录操作homepage.html.erb

<b><%= link_to "Sign in with Facebook", "/auth/facebook", id: "sign_in" %></b>

我试过了

match 'auth/:provider/callback', to: 'sessions#create', as: "signin"

并使用signin_path代替/auth/facebook,但这会在会话#create中缺少操作时出错。

有没有办法将match 'auth/:provider/callback', to: 'sessions#create'正确映射到login_path之类的路径?`

1 个答案:

答案 0 :(得分:0)

试试这个 - 写下你的production.rb文件

DOMAIN_CONFIG = "http://www.domain_name/"  
config.action_mailer.default_url_options = { :host => "http://www.domain_name" }