2010-12-05 35 views
1

获取网址由于某种原因,我尝试以各种方式获取图像的网址。我正在使用回形针。他们都没有工作。从回形针(RoR)

我已经试过

img.image.url 
img.image.url(:thumbnails) 
img.image.url(:display) 

...当我尝试img.id,该ID返回就好了,并打印。当我将image_tag放在它之前时,图像也会显示。不过,我想预先载入图像......我需要确切的网址,它只是不会返回:(

编辑==============

这是我的js函数是什么样子:

onLoadScroller: function() { 
    // preload images here 
    id = <%= @other_images[4].id %>; 
    alert(id); 

    var url = <%= @other_images[4].image.url %>; 
    alert(url); 

    img = new Image; 
    img.src = <%= @other_images[4].image.url %>; 
    alert(img.src); 
    }, 

我得到的id回来就好了,但我没有看到任何警告弹出的网址或IMG我看到正确的URL从控制台弹出虽然。 。所以这个应该是是正确的做法。我不确定什么可以打破javascript,但?!

我的模型看起来是这样的:

类图片<的ActiveRecord :: Base的

has_attached_file :image, :styles => { :display => "500x500>", 
             :thumbnail => "95x95>"}, 
             :default_style => :display 

更新+++++++++++++

这似乎是img.src在渲染代码只是正确地谈到了,但是我由于某种原因我得到了“Uncaught ReferenceError:原因未定义”,从而阻止了警报的发出。

+0

什么*是*你得到从方法回来?你从什么环境中调用它? – Gareth 2010-12-05 20:58:06

回答

0

如果当你把image_tag之前,那么您的通话返回准确的URL(因为它是浏览器下载的图像不够好)图像显示正确。我也在我的应用程序中使用回形针,并以与您给出的方式完全相同的方式获取网址。

我建议你在你的JS代码中寻找错误,或者你试图预载图像的地方。

1

可惜的是,它是将周围的URL引号的问题...感谢您的帮助...

img.src = "<%= @other_images[4].image.url %>";