Ruby on rails RubyonRails-巫术覆盖登录方法

Ruby on rails RubyonRails-巫术覆盖登录方法,ruby-on-rails,ruby,sorcery,Ruby On Rails,Ruby,Sorcery,我有一个带有guest列(布尔值)的用户表来区分用户的身份。 我不想让用户访问来宾?=>可以登录。 是否可以覆盖巫术的登录方法 我希望它能像这样工作 User.where(guest:false).身份验证(电子邮件、密码) 我认为的另一种方法是使用多态关联分离用户和访客。 然而,我并不想创建与用户列相同的GuestUser 请给我一些建议。用户。where(guest:false)将返回数组,您无法对其进行身份验证。我知道。但我想知道是否有一些方法可以覆盖gem sorcery的登录方法,

我有一个带有guest列(布尔值)的用户表来区分用户的身份。 我不想让用户访问来宾?=>可以登录。 是否可以覆盖巫术的登录方法

我希望它能像这样工作

User.where(guest:false).身份验证(电子邮件、密码)

我认为的另一种方法是使用多态关联分离用户和访客。 然而,我并不想创建与用户列相同的GuestUser


请给我一些建议。

用户。where(guest:false)
将返回数组,您无法对其进行身份验证。我知道。但我想知道是否有一些方法可以覆盖gem sorcery的登录方法,该方法可以直接作用于where(guest:false)。最后,我使用STI关联来分离来宾和成员用户的模型。
  # find specific user and check guest or not
  user = User.find_by_email(email)
  if user && user.guest == false
     User.authenticate(email, password)
  end