我在 Rails 控制台中有一个
reload!
命令的别名:
# ~/.irbrc
if defined? Rails
def r
reload!
end
end
在 rails v7.2 中,这不再有效:
>> r
(stackoverflow):1:in `<main>': undefined method `reload!' for main (NoMethodError)
reload!
^^^^^^^
但是
reload!
仍然可以单独工作:
>> reload!
Reloading...
如何将
reload!
与 r
混淆?
面向未来的方法似乎是IRB 扩展。
IRB::Command.register(:r, Rails::Console::Reloader)
这是 Rails 7.2 中出现的一个相对较新的更改,带有 Rails::ConsoleMethods 的旧系统预计将在 Rails 8 中废弃。