0

我创建了一个使用omniauth的rails引擎。在该引擎中,无论使用ruby 1.8.7还是1.9.2运行,当我使用虚拟应用程序测试它时,一切正常(使用Rails 3.1.3)。有关Ruby版本的Omniauth路径问题?

我可以使用任何提供商登录/auth/:provider,如/auth/google

当我包含引擎并将其挂载到主机应用程序中的'/'时,登录过程在我使用ruby 1.8.7时起作用,但在使用ruby 1.9.2时给出No route matches [GET] "/auth/google

因此,要包装它,当Omniauth位于引擎中并且我使用Ruby 1.9.2时,我得到No route matches [GET] "/auth/google

我想,你创建一个直通的行动,产生一个404错误色器件解决方案,但如果我这样做,我当时陷在该404错误...

任何想法?

+0

这个问题relly绑定到红宝石版本。每当我使用rvm切换回1.8.7时,它都能正常工作,然后切换到1.9.2,并且出现错误。真奇怪的是,它总是在虚拟应用程序中运行,其中gem也安装在''/''上。 –

+0

我也有这个问题。你解决了吗? – Yeggeps

回答

1

写下面的代码在你的发动机

middleware.use OmniAuth::Builder do 
    provider :provider, 'APP_ID', 'APP_SECRET' 
end 

,你将有登录URL下/装入点/ auth /中:供应商

+0

您的回答帮助我在此主题http://stackoverflow.com/a/15420925/347501谢谢! – pablomarti