Devise + Omniauth 登录 Facebook 时调用操作通道

ove*_*uka 6 facebook ruby-on-rails omniauth ruby-on-rails-3 ruby-on-rails-3.2

当我尝试使用 Omniauth 和 Devise 登录 Facebook 时,passthru被调用而不是facebook. 我如何传递link_to

user_omniauth_authorize_path(:facebook)
Run Code Online (Sandbox Code Playgroud)

我多次修改代码并尝试使用此路线:

  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } do
    get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
  end
Run Code Online (Sandbox Code Playgroud)

  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } 
Run Code Online (Sandbox Code Playgroud)

但错误是一样的。我的行动facebook中有users/omniauth_callbacks_controller.rb

Ash*_*aka 0

这条passthru路线是来自omniauth过去的古老遗迹。

只需像这样设置你的路线:

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
Run Code Online (Sandbox Code Playgroud)