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

时间:2009-03-26 09:39:51

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

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

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

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

你有任何提示/技巧吗?

2 个答案:

答案 0 :(得分:17)

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

另一方面,

加载每次都会加载并执行代码。

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

答案 1 :(得分:2)

您应该尝试在脚本中加载rails环境或使用rake。还要考虑使用script / runner。

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

A stack overflow answer