0

我的应用程序中有一个单表继承结构,Admins 和 Mods 扩展了一个 User 类。该表使用一个鉴别器值,因此每条记录的类型都是“admin”或“mod”

在寻找用户(登录时)时,我想写以下内容:

current_user = User.find(params[:email => email])

但是,这会创建 SQL,其中包括

SELECT ...... WHERE ("type" IN ('User') AND .....

这意味着找不到记录。但是,如果我输入

current_user = Admin.find(params[:email => email])

我得到了用户(如果他们是管理员)。

由于仍然创建了“类型”IN(“用户”),因此我也尝试了以下操作但无济于事:

current_user = User.first(:email => email, :type => [Admin, Mod])

提前感谢您对此的任何帮助

4

1 回答 1

0

I think it should be

current_user = User.first(:email => email, :type => ['Admin', 'Mod'])
于 2010-06-02T13:33:33.260 回答