Ruby on Rails: link_to and image_tag
Yet another quick code reminder as I always forget the syntax, this time to combine link_to and image_tag in Ruby on Rails.
So if you want an image_tag (here “logo.jpg”) to redirect the user to another URL (in this case, the root of the site) when clicked, simply use the combination link_to and image_tag below.
Link_to an image_tag from the public folder
<%= link_to(image_tag("logo.jpg", :alt => "logo", :title => "Home"), "/") %>
The above example assumes you have the image “logo.jpg” within the public folder.
This will create the HTML code below:
<a title="home" href="/"><img src="logo.jpg" alt="logo" /></a>
Link_to and image_tag from your assets
>
In the case you need to access your “logo.jpg” from /app/assets/images, the code would be as follow:
<%= link_to(image_tag("/assets/logo.jpg", :alt => "logo", :title => "Home"), "/") %>
This will create the HTML code below:
<a title="home" href="/"><img src="/assets/logo.jpg" alt="logo" /></a>
Adding classes and ids to your link_to and image_tag
You can also add :class => “” and/or :id => “” on either the link_to or image_tag as below:
<%= link_to(image_tag("logo.jpg", :alt => "logo", :title => "Home", :class=>"images", :id=>"logo"), "/", :class=>"links", :id=>"logo_link") %>
This code will produce the HTML code below:
<a id="logo_link" title="home" href="/"><img id="logo" src="/assets/logo.jpg" alt="logo" /></a>
See more info on the official Rubyonrails