Question

Comment puis-je obtenir le répertoire où se trouve le fichier rakefile.rb?

Je veux utiliser ceci comme répertoire racine pour tout localiser.

Était-ce utile?

La solution

utilisez __ FILE __ pour obtenir le nom du fichier. Vous pouvez ensuite obtenir le répertoire à partir de cet emplacement:

dans test.rb

puts __FILE__

sortie:

/users/foo/test.rb

__ FILE __ est résolu en chemin complet du fichier dans lequel il se trouve.

Utilisez ceci pour obtenir le nom du répertoire:

File.dirname(__FILE__)

Autres conseils

Vous pouvez l'obtenir en appelant la méthode application.original_dir . Dans la tâche, vous pouvez réaliser un objet application à l'aide de la méthode application sur l'objet tâche.

Pourquoi ne pas simplement utiliser Dir.pwd

?

S'il s'agit d'une application RoR, votre fichier Rakefile.rb doit se trouver dans votre répertoire RAILS_ROOT. Donc, dans n'importe quel script, vous pouvez spécifier l'emplacement du fichier comme

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

À partir de Ruby 2, vous pouvez utiliser __ dir __ au lieu de File.dirname (__ FILE __) pour obtenir le répertoire contenant le script actuel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top