質問

rakefile.rbがあるディレクトリを取得するにはどうすればよいですか

これをルートディレクトリとして使用して、すべてを検索します。

役に立ちましたか?

解決

__ FILE __ を使用してファイル名を取得すると、そこからディレクトリを取得できます。

in test.rb

puts __FILE__

出力:

/users/foo/test.rb

__ FILE __ は、それが含まれているファイルのフルパスに解決します。

これを使用してディレクトリ名を取得します:

File.dirname(__FILE__)

他のヒント

application.original_dir メソッドを呼び出すことで取得できます。タスクでは、タスクオブジェクトで application メソッドを使用して application オブジェクトを実現できます。

Dir.pwdを使用しない理由

これがRoRアプリの場合、Rakefile.rbはRAILS_ROOTディレクトリにあります。したがって、どのスクリプトでも、

のようなファイルの場所を指定できます
 config.load_paths += %W( #{RAILS_ROOT}/extras )

Ruby 2以降では、 File.dirname(__ FILE __) の代わりに __ dir __ を使用して、現在のスクリプトを含むディレクトリを取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top