在哪里定义可直接从rails控制台访问的方法

所以想法是定义

def foo puts "Works!" end 

直接从控制台,而不加载我写的任何东西

 irb(main):001:0>foo() => "Works!" irb(main):002:0> 

我在Windows上使用1.9.3。 我想使用它来获得一个方法,它将重新加载lib / *,以便我不需要重新启动控制台。 谢谢。

我想这就是你要问的…我在初始化器中有以下代码:

 if defined?(Rails::Console) require "util/console_extensions" include ConsoleExtensions end 

以及在lib/util/console_extensions.rb定义的控制台中我想要的任何额外方法

 module ConsoleExtensions def foo puts "Works!" end end 

这在加载rails控制台时自动需要并包含ConsoleExtension模块,并使其中定义的方法可用,而无需手动加载任何内容。

如果这仅用于测试目的,那么在模型中定义这些文件:)并在后面将它们移动到lib目录