У меня есть одна структура наследования таблиц в моем приложении, благодаря которой 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])
Я получаю пользователя (если он администратор).
Я также пробовал следующее безрезультатно, так как 'type' IN ('User') все еще создается:
current_user = User.first(:email => email, :type => [Admin, Mod])
Заранее благодарен за любую помощь по этому вопросу