21

I need to add data-description and data-title for galleria in my rails application but I can't see how to do this with the image tag. So far I have this:

<div id="galleria">
<% @entries.each do |entry| %>
     <%= image_tag entry.filename, :title => "title", :class => "class", :data-description => entry.caption, :data-title => entry.caption  %>
 <% end %>
 </div>

But this raises the undefined local variable or method `description' error, so how would I do this in rails 3?

Dean
  • 8,668
  • 17
  • 57
  • 86

2 Answers2

50

The correct syntax for this is

<%= image_tag entry.filename, :title => "title", :class => "class", :data => { :description => entry.caption, :title => entry.caption }  %>
jvnill
  • 29,479
  • 4
  • 83
  • 86
  • 6
    Why isn't that specified in the docs? http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-image_tag – Chloe Nov 02 '13 at 23:35
2

As of rails 5.1, this syntax should work:

<%= image_tag entry.filename, title: "title", class: "class", data: {description: entry.caption, title: entry.caption} %>

Read more about attributes you can include in your image_tag under examples: rails api docs.

Jake
  • 1,086
  • 12
  • 38