我有一个应用程序,您可以使用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之类的路径?`
答案 0 :(得分:0)
试试这个 - 写下你的production.rb文件
DOMAIN_CONFIG = "http://www.domain_name/"
config.action_mailer.default_url_options = { :host => "http://www.domain_name" }