Add image to layout in ruby on rails

Ruby on-RailsRubyImageLayout

Ruby on-Rails Problem Overview


I would like to add an image in my template for my ruby on rails project where i currenly have the code <img src="../../../public/images/rss.jpg" alt="rss feed" /> in a the layout stores.html.erb file however this doesn't seem to load as it looks like its missing a route which i'm not sure what its supposed to be.

Any ideas please?

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

Anything in the public folder is accessible at the root path (/) so change your img tag to read:

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

If you wanted to use a rails tag, use this:

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

Solution 2 - Ruby on-Rails

In a Ruby on Rails project by default the root of the HTML source for the server is the public directory. So your link would be:

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

But it is best practice in a Rails project to use the built in helper:

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

That will create the correct image link plus if you ever add assert servers, etc it will work with those.

Solution 3 - Ruby on-Rails

When using the new ruby, the image folder will go to asset folder on folder app

after placing your images in image folder, use

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

Solution 4 - Ruby on-Rails

simple just use the img tag helper. Rails knows to look in the images folder in the asset pipeline, you can use it like this

<%= image_tag "image.jpg" %>

Solution 5 - Ruby on-Rails

It's working for me:

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

Solution 6 - Ruby on-Rails

image_tag is the best way to do the job friend

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionErikaView Question on Stackoverflow
Solution 1 - Ruby on-RailsDoug NeinerView Answer on Stackoverflow
Solution 2 - Ruby on-RailsscottdView Answer on Stackoverflow
Solution 3 - Ruby on-RailsAgung KessawaView Answer on Stackoverflow
Solution 4 - Ruby on-RailsPalermo Andre DeschampsView Answer on Stackoverflow
Solution 5 - Ruby on-RailsArtem BaranovView Answer on Stackoverflow
Solution 6 - Ruby on-RailsAlonso Huayta LauraView Answer on Stackoverflow