如何重新加载rails环境?`reload!` 命令被弃用了吗?

Jos*_*ews 1 ruby ruby-on-rails reload

我尝试使用该reload!命令重新加载 rails 环境,我认为它可能已被弃用。有谁知道重新加载 rails 环境的现代方法?这本书可以免费下载,我在第 79 页,是 Michael Hartl 的《RailsS​​pace:用 ruby​​ on rails 构建社交网站》,出版于 2007 年,有几个人建议我放弃这本书,我只是想在我放弃这本书之前,请确保它不是一种现代的做事方式。很多关于 stackoverflow 的专家已经帮助我读完了这本书,我决定抓住机会。

这是这本书的链接:https : //pdfs.semanticscholar.org/ca98/3b5098cd5957dc1842bb4bf3175406624bca.pdf?_ga=2.121598472.1814901715.156909944364171717171717171715.1569099443641717的社交网站,为什么只有一个社交网站,49944364171717 17不能轻易放弃它,即使它是 2007 年出版的,它有点过时了。另外,在我放弃这本书之前,我只想看看 stackoverflow 能为我做什么。这么多关于 stackoverflow 的专家帮助我走到了这一步,我很想知道我是否可以用 stackoverflow 读完整本书。如果有人知道更好的免费资源,请给我一个链接。现在第 79 页,是路障,就是reload!可能会被弃用的命令。也许它是 stackoverflow 的专家,知道它的已知命令。如果那是你,请帮忙。我已经尝试在谷歌上搜索它,它把我直接带到了 stackoverflow 哈哈。我决定发布我自己的问题,其他人的问题似乎与我的不符,所以我在这里。如果可以的话请帮忙。

tad*_*man 6

在 Rails 控制台(rails c或更正式的bundle exec bin/rails c)中,您应该能够运行:

reload!
Run Code Online (Sandbox Code Playgroud)

这会重新加载活动环境,特别是app/and 中的任何内容config/routes.rb,但在您退出并重新启动控制台之前,不会重新加载其他内容。情况一直如此。

请注意,这仅在 Ruby 交互环境中,因为您将看到如下所示的提示:

irb(main):001:0>
Run Code Online (Sandbox Code Playgroud)

如果您看到其他内容,您可能不在 Rails 控制台中,而是试图在错误的上下文中运行命令。一个常见的错误是试图在他的 shell 中运行它,你会得到如下错误:

-bash: reload!: command not found
Run Code Online (Sandbox Code Playgroud)

如果您在加载应该存在的东西时遇到问题,您可能需要做的另一件事是停止 Spring 启动器,强制它重新加载:

 spring stop
Run Code Online (Sandbox Code Playgroud)

这会启动Spring 应用程序预加载器,它有时会对正在发生的事情感到困惑并需要重置。