3

stiを使用したデバイス認証を使用したアプリケーションセットアップがあります(ベースユーザーモデルと、それを継承する会社と個人の2つの他のモデル)。工夫の観点からは、すべてが機能しています。サインアップフォームにはさまざまなルートを設定でき、すべてが期待どおりに機能します。ここで、両方のユーザー(会社と個人)にFacebookまたはリンクインを使用してサインアップ/サインインするオプションを提供したいと思いました。両方のモデルで:omniauthableを設定し、各モデルのroutes.rbでdevise_forを設定すると、次のようになります。 1つのモデルのみが全認証可能であるというエラー。モデルごとにdevise_forを使用しない場合、ルートは生成されません。ユーザーモデルでのみオムニオータブルを設定すると、1つのルートと1つのコールバックしか取得できません。

解決策は、omniauthを単独で使用することであるとどこかで読んだことがあります(デバイスとは別に)。ただし、deviseとは別にomniauthを使用して意図した動作を実現できないようです(1つの承認/コールバックルートを取得できますが、意図したとおりに2つ取得できます)。

助けることができる人はいますか?

TIA

4

1 に答える 1

0

Devise の Omniauthable モジュールは、複数のモデルをサポートしています。見る

https://github.com/plataformatec/devise/wiki/OmniAuth-with-multiple-models

于 2015-03-16T16:11:45.010 に答える