Ruby on Rails: как сделать так, чтобы обратный вызов ActiveRecord загружал общую переменную между обратными вызовами - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть пара обратных вызовов before_save и after_save, которые должны совместно использовать экземпляр объекта между собой в проекте Ruby on Rails. Я думал, что добавление дополнительного метода с именем load_object, где я загружаю объект в переменную экземпляра, поможет. Это работало нормально для проверок before_save, но объект не сохранялся в цепочке методов after_save. Есть ли какой-нибудь способ убедиться, что он подходит для обоих наборов, сохраняя мой код СУХИМ?

1 Ответ

2 голосов
/ 30 сентября 2011

это странно, обратные вызовы выполняются на одном и том же экземпляре, и любая переменная экземпляра должна быть доступна (хотя и не сохраняться). но вы всегда можете использовать around_save callback

around_save :do_something

def do_something
  #beforesave things
  yield
  #aftersave things
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...