36 votes

rails 3.1 actif pipeline css en cours de développement

Je suis un peu confus comme il semble que l'application.css est y compris lui-même deux fois, une fois quand il dresse la liste des ressources de l'manifeste, puis un cache de que. Donc, quand je supprime un fichier individuel, il semble encore rester en vie à l'intérieur de l'application.fichier css.

application.css (source)

/*
*= require twitter/bootstrap
*= require_self
*= require_tree ./common
*= require_tree ./helpers
*/

Qui fonctionne comme prévu et les sorties en dev mode de tous les fichiers individuels

développement.rb

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

sortie

<link href="http://stackoverflow.com/assets/twitter/bootstrap.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="http://stackoverflow.com/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="http://stackoverflow.com/assets/common/announcement.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="http://stackoverflow.com/assets/common/button.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<Blah blah>

application.css (sortie)

Ce doit être vide? Depuis tout ce que j'ai dans mon application.le fichier css est le manifeste et pas de css, mais à la place je reçois tous mes concaténées code 106ko de long.

C'est à dire si je supprime un fichier dans le répertoire courant, il ne va pas loin. Il n'est plus répertorié dans la sortie, mais le css s'affiche toujours à partir de l'application.css

41voto

ere Points 389

J'ai eu un problème comme ça avant. Cela était dû au fait que j'avais précompilé les actifs qu'il était après le fichier applcation.css dans le dossier public ainsi que dans le répertoire apps. Je ne sais pas comment le réparer pour que cela ne se produise plus en mode dev mais si vous supprimez votre répertoire /public/assets , cela devrait le réparer.

Vérifiez et voyez si vous avez un dossier public / assets, si vous le faites et qu'il est plein, c'est probablement pourquoi vous voyez double.

37voto

Peter Hoeg Points 528

Il y a actuellement (2012-09-24) un bogue dans les rails / pignons qui l'empêche de détecter correctement les fichiers importés.

Cela devrait être corrigé dans les rails 3.2.9 et ultérieurs, mais entre-temps, vous pouvez le contourner comme suit:

  1. Tuez l'instance de rails
  2. rm -rf tmp / cache
  3. Démarrer l'instance de rails

Vous devriez maintenant voir le bon css.

10voto

Agustin Points 384

Vous voudrez peut-être regarder

http://stackoverflow.com/a/7854902/686460

"L'ajout de config.serve_static_assets = false à development.rb empêchera le chargement de fichiers depuis / public / assets"

Cela l'a fait pour moi.

7voto

Abdo Points 3360

@Augustin solution pour moi, mais voici quelques choses que vous devez faire:

  1. Supprimer tout dans /tmp/cache/actifs

  2. Ajouter config.serve_static_assets = false pour le développement.rb ou de test.rb (crédits de @Agustin)

  3. Redémarrez votre serveur.

  4. Assurez-vous que votre application.js / .css n'est pas mis en cache dans votre navigateur. Aller à l' http://localhost:3000/assets/application.js?body=1 et appuyez sur ctrl+f5 pour forcer le rafraîchissement (vous pouvez également essayer d'annexer un ordre aléatoire param à la fin: http://localhost:3000/assets/application.js?body=1&rnd=12343 Si vous obtenez quelque chose d'autre et ctrl+f5 n'a toujours pas aidé, vous avez besoin de vider le cache de votre navigateur.

En sautant de l'une de ces étapes retourné le cache application.js / .css en conflit avec mes mises à jour dans les fichiers unique.

4voto

Ivan Stana Points 315

La meilleure façon, qui a fonctionné pour moi, est de supprimer le contenu du répertoire tmp / cache / * ...

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