我正在编写一个在 rails 控制台中运行的脚本。
当我对文件进行更改时,即使我退出并重新加载 rails 控制台,它也无法识别这些更改。
如何让 Rails 识别并加载对此文件的更改?
该文件位于我的应用程序的根目录中。我加载 rails 控制台并运行:
require 'file.rb'
该文件第一次运行良好,但如果我对文件进行更改,则不会加载它们。我可以删除文件中的所有代码并再次运行该文件,它仍然像编辑前一样运行。
我正在编写一个在 rails 控制台中运行的脚本。
当我对文件进行更改时,即使我退出并重新加载 rails 控制台,它也无法识别这些更改。
如何让 Rails 识别并加载对此文件的更改?
该文件位于我的应用程序的根目录中。我加载 rails 控制台并运行:
require 'file.rb'
该文件第一次运行良好,但如果我对文件进行更改,则不会加载它们。我可以删除文件中的所有代码并再次运行该文件,它仍然像编辑前一样运行。
如果要更改目录中存储的app/
文件,可以使用reload!
命令重新加载这些文件。
如果您在此之外进行更改,则需要退出并重新启动控制台。
需要注意的是,在通话.rb
中几乎总是省略扩展名。require
要记住的另一件事是,require 'file'
它将在您$LOAD_PATH
的页面中查找名为file.rb
的内容,并将在第一个中加载。您可能有两个同名的文件。尝试重命名它以查看是否有任何效果。
require
Rails 有一个非常好的自动加载器,因此如果您将文件放在正确的位置开始,通常不需要使用它。例如,MyClass
可以进入app/models/my_class.rb
并自动加载。自动装载机也可以配置为在不同的地方查看。