Была такая же проблема.Драгоценный камень вызывал предупреждение об устаревании, но я понятия не имел, какой драгоценный камень, так как сообщение Rail показывает только последний бит стека вызовов в моем коде.Добавьте следующее:
module ActiveSupport::Deprecation
class << self
def deprecation_message_with_debugger(callstack, message = nil)
debugger
deprecation_message_without_debugger callstack, message
end
alias_method_chain :deprecation_message, :debugger
end
end
Помещено после загрузок Rails (т. Е. После require 'rails/all'
в application.rb), но перед запуском bunder для получения предупреждения об устаревании в гемах (т. Е. До Bundler.require(:default, Rails.env) if defined?(Bundler)
в application.rb).
Теперь, когда появляется предупреждение об устаревании, вы попадаете в отладчик.Вы можете либо оставить это внутри (и окружить его if Rails.env.test?
), либо удалить его, когда найдете проблемы.