Domanda

Come posso ottenere la directory in cui si trova rakefile.rb?

Voglio usarlo come directory principale per localizzare tutto.

È stato utile?

Soluzione

usa __FILE__ per ottenere il nome del file, quindi puoi ottenere la directory da lì:

in test.rb

puts __FILE__

uscita:

/users/foo/test.rb

__FILE__ si risolve nel percorso completo del file in cui si trova.

Usa questo per ottenere il nome della directory:

File.dirname(__FILE__)

Altri suggerimenti

Puoi ottenerlo chiamando il metodo application.original_dir . Nell'attività puoi ottenere l'oggetto applicazione usando il metodo applicazione sull'oggetto compito.

Perché non usare Dir.pwd

Se si tratta di un'app RoR, Rakefile.rb dovrebbe trovarsi nella directory RAILS_ROOT. Quindi in qualsiasi script è possibile specificare il percorso del file come

 config.load_paths += %W( #{RAILS_ROOT}/extras )

A partire da Ruby 2 è possibile utilizzare __dir__ anziché File.dirname (__ FILE__) per ottenere la directory che contiene lo script corrente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top