Данные не сохраняются в базе данных при изменении - PullRequest
0 голосов
/ 06 января 2019

Я сохраняю запись в глобальной переменной, чтобы позже я мог изменить некоторые поля и затем обновить эту запись, которая находится в моей базе данных, с помощью .save, но она не обновляет их

Не обновлять их:

SQL (0.5ms)  UPDATE `workshop_managers` SET `updated_at` = '2019-01-05 22:42:56' WHERE `workshop_managers`.`id` = 11

Мой код:

Я получаю данные:

            workshop = concept_payment.concept
            @workshop_manager = WorkshopManager.lock(true).find(workshop[:id])
            if (@workshop_manager.available_quantity - concept_payment.amount) >= 0
              used_quantity = @workshop_manager.used_quantity + concept_payment.amount
              available_quantity = @workshop_manager.available_quantity - concept_payment.amount

              @workshop_manager.used_quantity = used_quantity
              @workshop_manager.available_quantity = available_quantity

              @workshop_manager.save

            end

Я пробовал это, но оно тоже не работает:

@workshop_manager.update_attributes(used_quantity: used_quantity, available_quantity: available_quantity)

1 Ответ

0 голосов
/ 06 января 2019

Похоже, что атрибут @workshop_manager не изменяется перед сохранением. Наиболее вероятная причина в том, что concept_payment.amount - это 0, поэтому вы не меняете количества, поэтому они не сохраняются. Убедитесь, что concept_payment.amount отлично от нуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...