#ruby-on-rails #activerecord
#ruby-on-rails #activerecord
Вопрос:
У меня есть объект orders с полем статуса. Я хотел бы получить все заказы со статусом = 1 (чтобы я знал, что изменяется), а затем обновить их, чтобы они имели статус = 2. Мой код выглядит следующим образом:
@new_orders=Order.where("status=1")
Order.where("status=1").update_all :status=>2
Проблема в том, что @new_orders не установлен, пока представление не использует переменную. Я предполагаю, что это связано с отложенной загрузкой. Как мне обойти это, чтобы я мог отобразить все записи, которые были изменены?
Ответ №1:
Попробуйте добавить .all
или .to_a
в конец вашего отношения:
@new_orders = Order.where(:status => 1).all