我的应用程序中有一个表继承结构,Admins和Mods扩展了User类。该表使用鉴别器值,因此每个记录的类型为“admin”或“mod”
在寻找用户(登录时)时,我想写下以下内容:
current_user = User.find(params[:email => email])
但是,这会创建包含
的SQLSELECT ...... WHERE ("type" IN ('User') AND .....
这意味着无法找到记录。但是,如果我输入
current_user = Admin.find(params[:email => email])
我得到了用户(如果他们是管理员)。
我还尝试了以下无效,因为仍然创建了'type'IN('User'):
current_user = User.first(:email => email, :type => [Admin, Mod])
提前感谢您对此的任何帮助
答案 0 :(得分:0)
我认为应该是
current_user = User.first(:email => email, :type => ['Admin', 'Mod'])