在this question中解释了如何做一个简单的警告(但是没有记录跟踪所以没有那么有用)并且有很多方法可以做到这一点,但我找不到任何指南。
如何使用ActiveSupport :: Deprecation将old_method标记为已弃用并调用其他new_method。
答案 0 :(得分:0)
您可能需要查看lib/active_support/deprecation/method_wrappers.rb
示例。
答案 1 :(得分:0)
正如Roman所说,它可以完成 ActiveSupport :: Deprecation.deprecate_methods(target_module,* deprecated_methods)
其中:
target_module
是方法所属的模块或类。deprecated_methods
是一个符号数组。在最后的方法中,可以给出自定义弃用消息的选项。
ActiveSupport::Deprecation.deprecate_methods(target_module, :old_method, \
:other_old_method => :new_method, :another_old_method => "custom message")
此示例显示调用old_method时的默认消息,在第二个中为“使用new_method而不是”发出注释,并在另一个中给出自定义消息: 注释:应该定义(之前)已弃用的方法并执行。 :new_method自动调用不。 (有更多的选择,但我不知道)