Comment utiliser CSS avec RoR? Lorsque je lie en externe, je ne suis jamais capable de voir les fichiers. J’ai copié le fichier .css dans chaque dossier auquel je pouvais penser … vues, contrôleur, modèle, et rien ne semble fonctionner.
Que dois-je faire pour activer les fichiers CSS externes avec une application rails? Je suis nouveau sur les rails, alors pardonnez-moi si c’est basique.
Placez les fichiers CSS dans public / stylesheets, puis utilisez:
<%= stylesheet_link_tag "filename" %>
pour créer un lien vers la feuille de style dans vos mises en page ou fichiers erb dans vos vues.
De même, vous mettez des images en public / images et des fichiers javascript dans public / javascripts.
Si vous utilisez la version rails> 3, il existe un concept appelé asset pipeline
. Vous pouvez append votre css à
app/asset/stylesheets
alors il sera automatiquement pris en charge par l’application. (ceci est utile car les rails compresseront automatiquement les fichiers css)
lire plus ici sur le pipeline d’actifs
J’ai fait ce qui suit …
app/assets/stylesheets
. <%= stylesheet_link_tag "filename" %>
dans votre fichier de mises en page par défaut (très probablement application.html.erb
) Je recommande ceci en utilisant votre dossier public. Vous pouvez également référencer la feuille de style en ligne, par exemple dans votre page d’index.
Utilisez le tag de feuille de style des rails pour lier votre main.css comme ceci
<%= stylesheet_link_tag "main" %>
Aller à
config/initializers/assets.rb
Une fois dans le assets.rb
ajoutez l’extrait de code suivant juste en dessous du Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.version = '1.0' Rails.application.config.assets.precomstack += %w( main.css )
Redémarrez votre serveur.
Le message original était peut-être vrai en 2009, mais maintenant, il est actuellement incorrect, et aucun lien n’est même requirejs pour la feuille de style, comme je le vois mentionné dans d’autres réponses. Rails le fera maintenant pour vous par défaut.
Vous pouvez tester cela avec un chemin d’access dans votre navigateur, comme le fichier testserver: 3000 / assets / filename_to_test.css? Body = 1
Pour append à ce qui précède, l’endroit le plus évident pour append stylesheet_link_tag se trouve dans la présentation globale de votre application – application.html.erb.
Avez-vous essayé de le mettre dans votre dossier public? Chaque fois que j’ai des images ou des éléments similaires dont j’ai besoin de faire référence à l’extérieur, je les mets tous là.