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

How to reload rails environment? Is `reload!` command depracated?

我尝试使用 reload! 命令重新加载 rails 环境,我认为它可能会被弃用。有谁知道重新加载 rails 环境的现代方法?这本书可以免费下载,我在第 79 页,是 Michael Hartl 的 "RailsSpace: Building a social networking website with ruby on rails",2007 年出版,有几个人建议我放弃这本书,我只是想确保它不是现代的在我放弃这本书之前的做事方式。这么多 Whosebug 专家帮助我读完了这本书,我决定抓住机会。

这是本书的 link:https://pdfs.semanticscholar.org/ca98/3b5098cd5957dc1842bb4bf3175406624bca.pdf?_ga=2.121598472.1814901715.1569094472-1963651489.1569094472,它是仅有的用于构建社交媒体网站的免费资源之一,这就是为什么我不能如此轻易地放弃它,即使虽然它是 2007 年出版的,有点过时了。另外,在我放弃这本书之前,我只想看看 Whosebug 能为我做什么。很多 Whosebug 专家帮助我走到这一步,我很想知道我是否可以用 Whosebug 读完整本书。如果有人知道更好的免费资源,请发给我 link。现在第 79 页是障碍,它的 reload! 命令可能会被贬低。也许它是 Whosebug 的专家,知道它的已知命令。如果是你,请帮忙。我已经尝试用谷歌搜索它,它直接把我带到了 Whosebug 大声笑。我决定 post 一个我自己的问题,其他人的问题似乎与我的不相符,所以我来了。如果可以,请帮忙。

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

reload!

重新加载活动环境,特别是 app/config/routes.rb 中的任何内容,但其他内容 不会 重新加载,直到您退出并重新启动控制台.一直都是这样。

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

irb(main):001:0>

如果您看到其他内容,您可能不在 Rails 控制台中,并且正在尝试 运行 在错误的上下文中执行命令。一个常见的错误是试图在 shell 本身中 运行 这个,你会得到这样的错误:

-bash: reload!: command not found

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

 spring stop

这会导致 Spring application preloader 有时会对正在发生的事情感到困惑并需要重新设置。