1

ユーザーが Rails 3.2 アプリで複数のプロバイダーにサインインできるようにするために、Devise と Omniauth を使用しようとしています。私はそれを機能させましたが、すべてのプロバイダーを create メソッドに移動させたいコントローラーの twitter、facebook、または tumblr メソッドに移動した場合のみです。これを行うためのルートは次のとおりです: match '/auth/:provider/callback' => 'authentications#create'

  resources :authentications

  match '/auth/:provider/callback' => 'authentications#create'
  devise_for :users, path_names: {sign_in: "login", sign_out: "logout"},
    controllers: {omniauth_callbacks: "authentications"}

  root to: 'authentications#index'

私のレーキ ルートは次のように表示されます。

 user_omniauth_authorize        /users/auth/:provider(.:format)        authentications#passthru {:provider=>/twitter|facebook|tumblr/}
  user_omniauth_callback        /users/auth/:action/callback(.:format) authentications#(?-mix:twitter|facebook|tumblr)

特定のプロバイダーではなく、authentications#create への user_omni_auth_callback ルートが必要です。現在のセットアップでは、「AuthenticationsController のアクション 'twitter' が見つかりませんでした」というメッセージが表示されます。これを行う最善の方法は何ですか?

4

0 に答える 0