2009-09-08 6 views
2
$:.unshift File.join(File.dirname(__FILE__),\ 
'vendor','addressable-2.1.0','lib','addressable','uri') 

Est-ce que le code ci-dessus accès à un fichier qui a ce chemin:unshift + file.join en rubis

'vendor/addressable-2.1.0/lib/addressable/uri' 

Je suis en train de vendor la pierre précieuse adressable dans une application Sinatra pour le déployer à mon fournisseur d'hébergement, mais je continue à recevoir:

"no such file to load -- addressable/uri" 

après avoir mis la ligne « unshift » en config.ru.

Répondre

3

Le code ci-dessus ajoute le chemin "fournisseur/adressable-2.1.0/lib/adressable/uri" à la variable globale utilisée pour rechercher des fichiers externes. Le chemin sera relatif au répertoire qui contient le fichier dans lequel ce code est placé. Donc, si {répertoire} est le répertoire config.ru est placé, il ajoutera {dir}/vendor/addressable-2.1.0/lib/addressable/uri au chemin de recherche pour includes.

0

Ce que fait la ligne est de mettre le chemin 'vendeur/adressable-2.1.0/lib/adressable/uri' (par rapport au répertoire dans lequel se trouve votre script ruby) dans le chemin de chargement, qui est la liste des répertoires Ruby regarde à travers lorsque vous cherchez les fichiers dont vous avez besoin.

En soi, la ligne n'essaiera pas d'accéder aux fichiers.