2010-05-20 5 views
1

Est-il possible que je peux les actifs de route à l'intérieur de mon css où le reste des points de vue sont les tirer? Je veux dire, à l'intérieur du CSS, puis-je appeler url_for ou css_for ou quelque chose comme ça pour que les images passent par le routeur d'actifs?Rails de routage INSIDE CSS

Merci d'avance!

+0

Pourquoi voulez-vous faire? Vous ne voulez pas que les requêtes pouvant être traitées par le serveur Web passent par Rails. Seules les demandes nécessitant une logique d'application doivent passer par le routage. Pourriez-vous expliquer pourquoi vous aimeriez faire? Il pourrait y avoir une meilleure réponse. – Ben

+0

Étant donné que les liens CSS vers des actifs et l'emplacement de ces actifs sont définis dans production.rb. Je voudrais définir cela une fois, et avoir tous les atouts pour cela. – tesserakt

Répondre

2

Vous pouvez utiliser une action de contrôleur pour rendre votre CSS (avec un modèle de erb) et définir le type de contenu à text/css.

Jetez un oeil à ce billet de blog de Josh Susser sur dynamically generated stylesheets. C'est à partir de 2006 mais la technique décrite est toujours applicable.

+0

C'est vraiment utile! En fait, nous avons envisagé de l'utiliser car, en tant qu'actif, vous pouvez modifier le serveur qui est appelé pour le cache en utilisant des caractères génériques% d. Cependant, si nous devons invoquer des rails pour générer des CSS, il peut être plus rapide de simplement coder en dur un serveur de cache pour CSS. – tesserakt