質問
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 __
を使用して、現在のスクリプトを含むディレクトリを取得します。
所属していません StackOverflow