3

我有一个使用 sti 设计身份验证的应用程序设置(基本用户模型和其他两个模型 - 公司和个人 - 继承自它)。从设计的角度来看,一切正常。我可以为注册表单设置不同的路径,并且一切都按预期工作。现在我想为两个用户(公司和个人)提供使用 facebook 或链接注册/登录的选项。如果我在两个模型上设置 :omniauthable,并在我的 routes.rb 上为每个模型设置 devise_for,我得到一个错误说只有一个模型可以是omniauthable的。如果我不对每个模型使用 devise_for,则不会生成任何路线。如果我只在用户模型上设置omniauthable,我只会得到一个路由和一个回调。

我在某处读到解决方案是单独使用omniauth(与设计分开)。但是,我似乎无法使用与设计分开的omniauth 来实现预期的行为(我可以获得一个单一的授权/回调路由,但是两个,如预期的那样)。

有谁可以帮忙吗?

TIA

4

1 回答 1

0

Devise 的 Omniauthable 模块确实支持多种模型。看

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

于 2015-03-16T16:11:45.010 回答