Ajouter un nouveau chemin d'une ressource dans les Rails 3.1
Personne ne sait comment faire pour ajouter un autre dossier pour l'asset pipeline dans les Rails 3.1?
J'aimerais servir app/assets/fonts
de la même façon app/assets/images
est servi.
Mise à jour: 5-7-2013
Juste pour ajouter quelques précisions pour les futurs personnes qui trouvent cette question explicitement ajouter un atout chemin, dans votre application.rb fichier:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
Cependant, depuis le dessus de chemin d'accès sous app/assets
vous n'avez pas à ajouter de façon explicite, il vous suffit de redémarrer votre application rails, donc les Pignons peuvent le ramasser.
Vous devez l'ajouter explicitement les chemins qui sont à l'extérieur de app/assets
,lib/assets
, ou vendor/assets
, et souvenez-vous que, tandis que les Pignons sélectionne les nouveaux fichiers dans les dossiers qui ont été présents lors de votre demande de chargement, dans mon expérience, il n'est pas de chercher de nouveaux dossiers dans l'actif des chemins sans redémarrage de l'ordinateur.
config.assets.paths << "#{Rails.root}/app/assets/active_admin"
ne fonctionne pas pour moi. J'obtiens toujours une erreur lorsque vous essayez d'afficher une page après le déploiement de la mise en scène et la.js
fichier dans ce dossier n'est pas compilé.
Vous devez vous connecter pour publier un commentaire.
Andrew,
app/assets/fonts
est déjà à votre actif chemin de chargement, avecimages
. De sorte que vous pouvez simplement pointer à l'actif de la même façon:<%= asset_path('/Ubuntu/Ubuntu-R-webfont.eot') %>
[1] ou comment jamais vous êtes le référencement de vos images.Il m'a fallu un certain temps pour envelopper ma tête autour de cela. Je ne sais toujours pas ce qui se passe si il y a un fichier avec le même nom dans
app/assets/fonts
etapp/assets/images
.[1] en Supposant que vous avez une police à
app/assets/fonts/Ubuntu/Ubuntu-R-webfont.eot
config.assets.paths << "#{Rails.root}/app/assets/fonts"
et que travaillé. Je pense que vous avez raison, rien sous/assets
est censé être inclus automatiquement, mais pour certaines raisons, pour moi, c'était de donner 404 jusqu'à ce que j'ai ajouté la ligne ci-dessus pour monapplication.rb
fichier. Je vais accepter votre réponse, parce que je pense que ça va être correct lorsque la libération est finalisé, et parce que, avec ce commentaire cloué sur ceux qui la liront peut le comprendre 🙂config.assets.paths
tableau est le fichier qui est choisi. Ceci peut être évité en utilisant laasset_path()
helper et en spécifiant le répertoire.Andrew, Jason, d'accord. FWIW, je mets ça dans ma config/application.rb à côté de
Rails.root.join('app', 'assets', 'fonts')
Rails.root.join
devrait être la façon dont vous le faites, à être flexible, à travers les plates-formes.Par la création de
app/assets/images
etapp/assets/fonts
ils seront automatiquement ajoutés à l'actif du chemin.Ouvrir console rails après la création d'eux et de vérifier avec:
(
y
est un raccourci pour leyaml
méthode)Il fonctionne sans l'ajout du chemin, mais attention que vous utilisez un nom de fichier valide pour l'actif.
Par exemple, dans ce cas, laissez
?#iefix
à l'extérieur de la police nom de fichierJe peux confirmer qu'il fonctionne sans ajouter de nouveaux chemins pour la config dans les Rails 3.1.0.rc4 (et supposées plus élevé). Je sautais de mon serveur, vous risquez de faire de même.
Créer
assets/fonts
dossier et ajouter un peu de police sur et utiliser le thème de votre fichier css comme suit