Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 3 Rendering Binary Content

I need to render binary content(images) on web page. I'm saving images in the database with datatype binary. Now I need to iterate available images from the database and render on webpage.

Please check the below code that I'm doing. Icon is the image column name in material.

// iterating all materials
<% @materials.each do |material| %>
     // for each material
     <span><%= image_tag(material.icon) %></span>
<% end %>

Any help would be greatly appreciated..

like image 878
kals Avatar asked Jun 01 '11 14:06

kals


1 Answers

You need to add an action to your controller along these lines (cribbed from here):

def image
    @material = Material.find(params[:id])
    send_data @material.icon, :type => 'image/png',:disposition => 'inline'
end

Then call the path to that action in your image_tag. You obviously need to make sure the :type field has the right MIME type, add a route, etc.

like image 80
muffinista Avatar answered Nov 03 '22 01:11

muffinista