Активная запись в Rails не сохраняет обновления - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть модуль, который наследуется внутри активной записи.

В этом модуле я вызываю функцию, которая получает идентификатор из внешнего источника и затем обновляет запись. Я получаю update update = trueно запись не сохранит обновление

# This is shared between multiple instances of classes 
module External
  def get_external_id 
     external_client_id =  ExternalClient::get_id(self)
     # it used to be 
     # self.update_attributes(external_client_id:external_client_id,  external_id_updated_date: Time.now)
     self.external_client_id = external_client_id
     self.external_id_updated_date = Time.now
     self.save
  end
end
class InfomrationForm < ActiveRecord::Base
  include External

end

, когда я попытаюсь использовать self.external_client_id Я получаю значение NULL, когда мне нужно получить случайный UUID из внешней службы. Я проверил всю функцию Служба возвращает правильный идентификатор, и я могу записать его, сохранение возвращает истину, и я могу записать это, но когда я пытаюсь использовать

Проблема заключалась в том, что одна из моих проверок завершилась неудачнобез постановки вопроса.

Мне пришлось прокомментировать все проверки, а затем вернуть их один за другим, чтобы выяснить, какая из них не удалась.

1 Ответ

0 голосов
/ 01 октября 2019

Валидация молча проваливалась, хотя должна была выдать ошибку.

Пришлось закомментировать все валидации и вернуть их одну за другой.

В проверке был блок if: Proc.new {}. Я думаю, что проблема связана со мной, вызывающим функцию в стороне от Proc.new, и эта функция вызывает унаследованную функцию, которая возвращает self.relation после полученияисправлено сохранение отлично работает

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