Rails控制台:多次运行Ruby文件

10 ruby console command-line ruby-on-rails

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

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

它第一次工作正常,但第二个和下一个require foo.rb不运行我的脚本(require不重新加载它).

你有什么提示/技巧吗?

Mik*_*use 17

require用于加载扩展 - 因此代码将执行一次,以使扩展在您的环境中出现,但后续要求将不会执行任何操作,因为作业已经完成.

加载,而另一方面,加载并执行代码每次.

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

  • 确保使用带有加载的完整文件名(require不要求;)) (3认同)

srb*_*ert 2

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

是一个在脚本中使用 Rails 环境的旧且可能过时的示例。此处有更新且详细的版本。

堆栈溢出的答案