从回形针(RoR)获取网址

时间:2010-12-05 20:55:25

标签: javascript ruby-on-rails

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

我试过

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,但是我没有看到任何警告弹出url或img。我确实看到从控制台弹出正确的URL。所以这个应该是正确的做法。我不确定是什么打破了javascript?!

我的模型看起来像这样:

class Image&lt;的ActiveRecord ::基

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

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

似乎img.src在渲染的代码中正确运行,但由于某种原因我得到“Uncaught ReferenceError:original is not defined”,阻止警报被触发。

2 个答案:

答案 0 :(得分:1)

唉,这是在网址上加上引号的问题......感谢你的帮助......

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

答案 1 :(得分:0)

如果您在image_tag之前正确显示图片,那么您的电话 会返回确切的网址(因为它足以让浏览器下载图片)。我也在我的应用程序中使用了paperclip,我得到的URL与你给出的完全相同。

我建议您在JS代码中查找错误,或者在您尝试预加载图像的任何地方。