“require_tree argument doit être un répertoire” rails 3.1.1 précompiler des actifs

J'ai été en rond ici à essayer de trouver les biens à des pré-compiler sur mon serveur de production (simple ubuntu installer ruby 1.9.2 et les Rails 3.1.1, et essayé 3.1.2 RC avec les nouveaux pignons 2.10 ainsi).

"require_tree argument doit être un répertoire". J'ai vu d'autres questions liées à la pile, mais la situation n'est pas exactement la même, et qu'aucune des solutions proposées ont contribué – comme créer un fichier stub dans le sous-dossier, puis de référence relativement à ce point. Pas de chance.

Et pour couronner le tout, bien sûr, cela fonctionne parfaitement sur toutes les machines de développement (mac, mais avec les mêmes configs, même assortis gem gem), dans la production env.

Voici mon /app/assets/javascript/application.js:

//= require ../../views/app/manifest
//= require_self

Pas beaucoup à elle. Fondamentalement, il suffit de pointer les vrais fichier manifeste de l'application de la zone (ouais, pas exactement en boîte vanille Rails, mais...)

Voici mon talon manifeste dans mes vues/admin (/views/app/manifest.coffee.js):

# = require ./app
# = require_tree ./models
# = require_directory ./views <- or using require_directory, either would work fine.

Comme je l'ai dit, dans les env de dev, pas de problèmes du tout. L'asset pipeline compile à la volée et tout est grand. En cours d'exécution, râteau actifs:précompiler sur le dev de la machine, pas de problèmes non plus.

- Je l'envoyer à la machine de production et d'exécuter exactement le même code et j'obtiens:

require_tree argument doit être un répertoire

Il y a quelques tiny différence ici que je suis tout simplement pas voir. Toute aide serait grandement appréciée!

  • vraiment, vous devez les déplacer d'actifs lorsque leur appartient, et de ne pas les mettre dans le dossier app/view répertoire
  • Il est un peu plus compliqué alors montré dans cet exemple simplifié. Les vues sont étroitement liés aux actifs et plus de sens d'être physiquement situé.
  • Se pourrait-il que manifest.coffee.js doit être manifeste.js.le café?
  • Ajouter .gitkeep fichiers (ou .gitignore fichiers de votre vide dirs.
InformationsquelleAutor evets | 2011-11-17