#ruby-on-rails #activerecord #ruby-on-rails-4
#ruby-on-rails #activerecord #ruby-on-rails-4
Вопрос:
Я обновляю приложение 3.2 Rails (до Rails 4.1) и удаляю драгоценный камень Squeel из-за отсутствия его обслуживания.
Вот пример:
incomplete = current_user.roles.where { (name == role.to_s) amp; (users_roles.status != 'completed') }.any?
Таким образом, у меня есть несколько условий из нескольких таблиц, одно из которых является отрицательным. Я хотел бы, чтобы ваш подход к этому
Заранее спасибо 🙂
Ответ №1:
Это должно быть сделано следующим образом…
incomplete = current_user.roles.where(name: role.to_s).where.not(user_roles: { status: 'complete'}).any?
Комментарии:
1. Потрясающий Шон, та часть, в которой статус помещается в хэш, была тем, чего я не знал