【问题标题】:How to reload rails environment? Is `reload!` command depracated?如何重新加载rails环境? `reload!` 命令是否已弃用?
【发布时间】:2020-02-02 02:46:27
【问题描述】:

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

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

【问题讨论】:

  • 为什么您认为 Rails 控制台中的 reload! 已弃用?在我的示例 Rails 6.0 应用程序中运行良好。您是否收到错误消息或意外行为?请解释一下。
  • 您继续就使用一本关于 Rails 1 的书遇到的问题提出问题。这本书已经过时了 12 年。我再次强烈建议您停止使用这本书,放弃迄今为止所做的一切,并开始使用新书、教程或其他资源来获取现代版本的 Rails。没有人可以帮助解决 Rails 1 的问题,因为没有人使用 Rails 1。
  • 自 2007 年那本书出版以来,Rails 已经取得了长足的进步。 Rails 6.0 刚刚发布并添加了重要的新功能,例如 ActionCable(websocket 支持)和完整的 Webpack 集成。值得注意的是Rails Documentation其实还不错。唯一的缺点是它没有像那本书那样的具体例子。
  • 如果您因为 Michael Hartl 而成为这本书的粉丝,而不仅仅是因为它是免费的,我会回应其他建议 - 您绝对需要更新的资源。 Hartl 的Rails Tutorial 将是一个更好的起点

标签: ruby-on-rails ruby reload


【解决方案1】:

在 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 很不爽,它有时会对正在发生的事情感到困惑,需要重新设置。

【讨论】:

    猜你喜欢
    • 2022-10-19
    • 1970-01-01
    • 2017-04-25
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多