web-dev-qa-db-fra.com

Ajouter une image à la mise en page dans Ruby sur rails

Je voudrais ajouter une image dans mon modèle pour mon Ruby sur Rails projet où j'ai actuellement le code <img src="../../../public/images/rss.jpg" alt="rss feed" /> dans un layout stores.html.erb cependant, le fichier ne semble pas se charger car il semble manquer un itinéraire dont je ne suis pas sûr de ce qu’il est censé être.

Des idées s'il vous plaît?

66
Erika

Tout ce qui se trouve dans le dossier public est accessible depuis le chemin racine (/) alors changez votre tag img pour lire:

<img src="/images/rss.jpg" alt="rss feed" />

Si vous voulez utiliser une balise Rails, utilisez ceci:

<%= image_tag("rss.jpg", :alt => "rss feed") %>
131
Doug Neiner

Dans un Ruby sur Rails projet, la racine de la source HTML du serveur est par défaut) est le répertoire public. Votre lien serait donc:

<img src="images/rss.jpg" alt="rss feed" />

Mais il est recommandé dans un projet Rails d'utiliser l'aide intégrée):

<%= image_tag("rss.jpg", :alt => "rss feed") %>

Cela créera le lien d'image correct, plus si vous ajoutez des serveurs d'assertion, etc., cela fonctionnera avec ceux-ci.

12
scottd

Lorsque vous utilisez le nouveau Ruby, le dossier de l'image sera placé dans le dossier des ressources de l'application des dossiers.

après avoir placé vos images dans le dossier images, utilisez

<%=image_tag("example_image.png", alt: "Example Image")%>
5
Agung Kessawa

simple, utilisez l’aide img tag. Rails sait qu'il faut regarder dans le dossier des images du pipeline d'actifs, vous pouvez l'utiliser comme ceci

<%= image_tag "image.jpg" %>

Cela fonctionne pour moi:

<%= image_tag( root_url + "images/rss.jpg", size: "50x50", :alt => "rss feed") -%>

1
Artem Baranov

image_tag est la meilleure façon de faire le job ami

0