我尝试关注https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview,但不知何故,当我查看生成的路由时,我只看到回调路径,而不是授权路径(实际上我得到了user_omniauth_authorize_path 链接的视图错误)。
我认为这可能是 OmniAuth 和 Devise 的版本问题(因为在 0.2.0.beta Omniath 之后允许可配置设置,并且必须定义路由)。但是,当尝试使用较旧的 OmniAuth 版本时,我收到错误“ You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed.
”。
我尝试使用 Devise 的 master 1.2.rc 和omniauth 分支以及整个omniauth gem(0.2.0.beta 之后)和'oa-oauth',但没有成功。我还尝试定义路线:
match '/users/auth/:action/', :to => 'users/omniauth_callbacks#action', :as => 'user_omniauth_authorize'
这有助于路线,但是当按下链接时,我确实得到了设计找不到映射的错误。有趣的是,将 devise_for 中的控制器更改为无效(例如在 users/omniauth_callbacks 之前添加“/”)第一次导致错误(“控制器名称不应以斜杠开头”),但实际上发送了一个小的重新加载我到 facebook 并返回(但自然没有定义回调路由)。
我是 Ruby 新手,不太确定我从这里去哪里。任何帮助将不胜感激。