2012-02-21 1 views
3

だからアイデアは、私は上の1.9.3を使用していますは、レールコンソールから直接アクセスできるようにする方法を定義するためにどこ

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

を書く何をロードせずにコンソールから

def foo 
    puts "Works!" 
end 

と直接に定義することですWindows。私はlib/*をリロードしてコンソールを再起動する必要がないようにするためにこれを使いたいと思っています。ありがとうございました。

答えて

9

をそれらを移動...私は初期化子で次のコードを持っています:

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

lib/util/console_extensions.rb

module ConsoleExtensions 
    def foo 
    puts "Works!" 
    end 
end 

で定義されたコンソールで、私がしたい余分な方法は、これは自動的に必要とし、含みConsoleExtensionモジュールを手動でロードする必要はなく、レールコンソールをロードして、モジュールに定義されているメソッドを使用できるようにします。

+0

純粋なawesomeness!ありがとう、非常にスマートなソリューション。 –

+1

問題ありません!喜んで助けてください。 – Russell

+0

これは私にとってはうまくいかない - 'Rails :: Console'は定義されていない。最初のコメント(http://stackoverflow.com/a/4604079/2339708)は、Springのためだと思います。 –

0

これはテスト目的のためだけであれば、私は、これはあなたが求めているものだと思うのモデル内のこれらのファイルを定義:)とあとがきlibディレクトリに

+4

私たちはどちらももっと良い方法を学んだようです。 –

関連する問題