327 votes

Les Rails de chemin d'accès au répertoire Racine?

Comment puis-je obtenir mon application Rails de la racine du chemin d'accès au répertoire?

579voto

Mischa Points 26200

Dans Rails 3:

Rails.root

qui renvoie un Pathname objet. Si vous voulez une chaîne de caractères, vous devez ajouter .to_s. Si vous souhaitez un autre chemin dans votre application Rails, vous pouvez utiliser join comme ceci:

Rails.root.join('app', 'assets', 'images', 'logo.png')

Dans Rails 2 vous pouvez utiliser l' RAILS_ROOT constante, ce qui est une chaîne de caractères.

111voto

malclocke Points 2315

Pour super exactitude, vous devez utiliser:

Rails.root.join('foo','bar')

ce qui permettra à votre application fonctionne sur les plates-formes où l' / n'est pas le séparateur de répertoire, n'importe qui devrait essayer de l'exécuter sur un.

24voto

Anubhaw Points 2820

Vous pouvez accéder à l'application rails de chemin d'accès en utilisant la variable RAILS_ROOT.

Par exemple:

render :file => "#{RAILS_ROOT}/public/layouts/mylayout.html.erb"

16voto

Andrew Points 30079

En plus de toutes les autres réponses correctes, depuis Rails.root est Pathname de l'objet, cela ne fonctionne pas:

Rails.root + '/app/assets/...'

Vous pouvez utiliser quelque chose comme join

Rails.root.join('app', 'assets')

Si vous voulez une chaîne de caractères utilisez ceci:

Rails.root.join('app', 'assets').to_s

3voto

uma Points 2011

Pour arriver 'rails root", vous pouvez utiliser:

RAILS_ROOT

mais c'est déconseillé.

Maintenant, vous pouvez utiliser les " Rails.root' pour aller chercher les rails de la racine.

Rails.root.to_s

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X