【问题标题】:Rails console: Run a Ruby file several timesRails 控制台:多次运行 Ruby 文件
【发布时间】:2010-10-15 15:59:42
【问题描述】:

Rails 提供了一个非常有用的控制台('script/console')。

我编写了一个 ruby​​ 文件并使用 require foo.rb 在控制台中运行它。

第一次运行良好,但第二次和下一次require foo.rb 没有运行我的脚本(require 不会重新加载它)。

你有什么提示/技巧吗?

【问题讨论】:

    标签: ruby-on-rails ruby command-line console


    【解决方案1】:

    您可能应该尝试在脚本中加载您的 Rails 环境或使用 rake。还可以考虑使用脚本/运行器。

    Here 是在脚本中使用您的 rails 环境的一个古老且可能已过时的示例。更新更详细的版本here

    A stack overflow answer

    【讨论】:

      【解决方案2】:

      require 用于加载扩展 - 因此代码将执行一次,以使扩展出现在您的环境中,但随后的 requires 不会做任何事情,因为该作业已经完成。

      load,另一方面,每次都加载并执行代码。

      如前所述,如果您只想运行脚本并且需要 Rails 环境,请考虑使用 script/runner

      【讨论】:

      • 确保在 load 中使用完整的文件名(require 不需要这个;))
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      相关资源
      最近更新 更多