Question

J'utilise Rails 3.1 et à l'actif que j'avoir des fichiers comme ceci:

assets
  javascripts
    admin
        admin.js
        a1.js
    client
       client.js
        c1.js

admin.js ressemble à ceci

//
//= require jquery
//= require jquery_ujs
//= require a1

Client.js ressemble à ceci

//
//= require jquery
//= require c1

Tout fonctionne bien en mode développement. Quand je fais des actifs de rake: precompile alors je ne vois pas de fichier javascript dans les biens publics /. Je vois toutes les feuilles de style dans les biens publics /.

Je pense que cela a à voir avec le fait que les fichiers manifest (admin.js et Client.js) dans ce cas sont sous-répertoire.

Alors est-ce vrai que les actifs de rake: precompile ne regarde pas dans les sous-répertoires

Toutes les suggestions sur la façon de résoudre ce problème. Je préfère avoir les fichiers comme je posai parce que j'ai un tas de fichiers javascript.

Était-ce utile?

La solution

Il y a un tableau de précompilation dans la configuration Rails que les ensembles quels fichiers à precompile. application.js et application.css dans un répertoire .

Vous devez ajouter vos fichiers au tableau precompile:

config.assets.precompile += ['admin/admin.js', 'client/client.js']

Et ils devraient être accessibles via:

javascript_include_tag "admin/admin.js"

et

javascript_include_tag "client/client.js"

Autres conseils

rails 3.2.6, lors de la gestion des actifs javascript dans subdirs, vous pouvez nommer le manifeste pour chaque subdir « index.js » (par opposition à « des admin.js » OP et « Client.js »), puis en config / environnements / production.rb dire:

config.assets.precompile += ['admin.js', 'client.js']

Magie dans les coulisses regardera dans le sous-répertoire admin et compiler selon les spécifications de index.js, sortie à admin.js; de même pour le client.

Les actifs seront alors accessibles via:

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