Displaying images from database

I’m saving images to a database when uploaded, and I’m trying to display
the images back out in the views. I can get this to work, but it’s not
very consistent… Here’s what I’m doing:

<%= image_tag(url_for(:controller=>“picture”, :action=>“show”,
:id=>@house.picture_id),:alt=>"")%>

Right off, it doesn’t show the images. But eventually it does, like if
I interact with the database again, or re-upload an image, they all seem
to work. This seems to be my problem, when right-clicking on the
properties of the image, this is the url:

/picture/show/1.png?

And it should be:

/picture/show/1

How come this is appending “.png?” to the end of my image? Should this
be doing this? Please help, as the images HAVE to show up, and I’ve
tried everything I can think of. Thanks!

ryan wrote:

I’m saving images to a database when uploaded, and I’m trying to display
the images back out in the views. I can get this to work, but it’s not
very consistent… Here’s what I’m doing:

<%= image_tag(url_for(:controller=>“picture”, :action=>“show”,
:id=>@house.picture_id),:alt=>"")%>

Right off, it doesn’t show the images. But eventually it does, like if
I interact with the database again, or re-upload an image, they all seem
to work. This seems to be my problem, when right-clicking on the
properties of the image, this is the url:

/picture/show/1.png?

And it should be:

/picture/show/1

How come this is appending “.png?” to the end of my image? Should this
be doing this? Please help, as the images HAVE to show up, and I’ve
tried everything I can think of. Thanks!

The image_tag helper will append .png if there is no extension in the
url since it thinks all of your image should be files.

The best way around this is create a custom route that looks like an
image file.

map.picture ‘pictures/show/:id/imge.jpg’,
:controller => :pictures, :action => 'show

or on edge rails:

map.picture ‘pictures/show/:id.jpg’
:controller => :pictures, :action => 'show

Then you can:

<%= image_tag(picture_url(:id => 1)) %>

And all should be dandy.

Also look into the Flex Image plugin as it will make the reading and
writing of image to your database super easy.

http://www.agilewebdevelopment.com/plugins/fleximage

Is there any way to emulate that :id.jpg routing functionality without
edge rails? I can’t justify edge for only that, but would really like
.jpg extensions on the images.

Thanks,
Chad

On Nov 20, 11:18 pm, Alex W. [email protected]

Chad wrote:

Is there any way to emulate that :id.jpg routing functionality without
edge rails? I can’t justify edge for only that, but would really like
.jpg extensions on the images.

Thanks,
Chad

On Nov 20, 11:18 pm, Alex W. [email protected]

You can do the first option I suggested:

map.picture ‘pictures/show/:id/image.jpg’,
:controller => :pictures, :action => 'show

it will just give urls like: /pictures/show/1/image.jpg

instead my second example on edge: /pictures/show/1.jpg

It works without edge rails fine, its just not quite as concise.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs