проблема с сохранением активной записи rails

#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