Я пытаюсь перейти на Rails 5.1.0 с 4.2 и получаю эту ошибку при запуске моего набора тестов Rspec.
DEPRECATION WARNING: The behavior of `changed` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_changes.keys` instead. (called from has_changes? at /Users/djohnson/projects/EvantaAccessAPI/app/models/user.rb:280)
Я проверил несколько похожих вопросов Stackoverflow, но ни один из них не соответствовал моему сценарию. Я использую эластичный поиск и chewy, и у меня есть эта строка в моей модели user.rb.
update_index('users') { self if has_changes? }
Который вызывает метод has_changes?
ниже:
def has_changes?
changes.empty? || (changes.keys & %w(first_name last_name title organization_name)).present?
end
Каков наилучший способ реорганизовать это, чтобы сохранить существующую функциональность и удалить эти предупреждения об устаревании?
Спасибо!