Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Facebook omniauth登录上的多个Rails应用程序路由问题_Ruby On Rails_Ruby_Devise_Routes_Omniauth - Fatal编程技术网

Ruby on rails Facebook omniauth登录上的多个Rails应用程序路由问题

Ruby on rails Facebook omniauth登录上的多个Rails应用程序路由问题,ruby-on-rails,ruby,devise,routes,omniauth,Ruby On Rails,Ruby,Devise,Routes,Omniauth,我目前正在维护一个Rails项目,该项目需要将其乘客机架中间件切换到Unicorn。我遇到了一个问题,Unicorn似乎不太支持子域,所以我有一个如下的解决方法 require_relative '../lib/route_scoper' MyProject::Application.routes.draw do scope RouteScoper.root do get "pages/welcome" mount RailsAdmin::Engine => '/a

我目前正在维护一个Rails项目,该项目需要将其乘客机架中间件切换到Unicorn。我遇到了一个问题,Unicorn似乎不太支持子域,所以我有一个如下的解决方法

require_relative '../lib/route_scoper'

MyProject::Application.routes.draw do
  scope RouteScoper.root do
    get "pages/welcome"

    mount RailsAdmin::Engine => '/admin', as: 'rails_admin'

    devise_for :users, controllers: { omniauth_callbacks: "omniauth_callbacks" }

    root to: "pages#welcome"

    resources :categories, only: [:index, :show]
    resources :counties, only: [:index], defaults: { format: :json }
    resources :products, only: [:show] do
      resources :votes, only: [:create]
    end

    resources :tickets, only: [:new, :create]
  end
end
根据这篇文章,我做了一个变通办法

一切正常,除了我们的Facebook登录似乎有路由问题

Started GET "/my_project"
Processing by Devise::CasSessionsController#service as HTML
Redirected to http://events.staging.mainsite/users/auth/facebook
Filter chain halted as :sync_fb_user rendered or redirected
Completed 302 Found in 49.8ms (ActiveRecord: 0.0ms)
Rails项目的域名如下
http://events.staging.mainsite/my_project

它总是将我重定向到
http://events.staging.mainsite/users/auth/facebook
页面显示未找到错误消息404

它用于在旧版本的URL处进行路由,如下所示

Redirected to /my_project/users/auth/facebook

我不确定是否可以覆盖omniauth路径来修复此问题,或者只是修改
路由.rb
以指向正确的登录路径,谢谢您的帮助。

我刚刚解决了这个问题,我必须为我的设备添加一个路径 然后将其移出RouteScope

devise_for :users, controllers: { omniauth_callbacks: "omniauth_callbacks" }, path: "#{RouteScoper.root}/users"