如何在Heroku上的Rails 4中引用javascript中的图像

时间:2014-03-01 09:47:07

标签: javascript ruby-on-rails heroku precompile

我正在尝试通过javascript链接am image。单击缩略图时,较大的图像会更改为相应的图像。

(我删除了一些对此问题不重要的类。)

缩略图:

    <%= image_tag "uppdrag/thumbs/katja01.png", :class => "ids", :id => "katja01.png" %>
    <%= image_tag "uppdrag/thumbs/katja02.png", :class => "ids", :id => "katja02.png" %>
    <%= image_tag "uppdrag/thumbs/katja03.png", :class => "ids", :id => "katja03.png" %>

图片发生变化:

    <%= image_tag "uppdrag/katja01.png", :class => "", :id => "idstudio" %>

使用Javascript:

$(".ids").click(function() {
  var id = $(this).attr('id');
    $('#idstudio').fadeOut(300, function(){
  $('#idstudio').attr('src','/assets/uppdrag/' + id).bind('onreadystatechange load', function(){
     if (this.complete) $('#idstudio').fadeIn(300);
  });
});
});

这一切在localhost:3000上运行正常,但是当预编译并上传到heroku并且图片名称发生变化时,缩略图上id上的名称不再正确,我无法想象如何获取id上图片的正确名称。

干杯卡尔

1 个答案:

答案 0 :(得分:1)

您应该可以使用asset_path帮助程序。

http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

<%= image_tag "uppdrag/thumbs/katja01.png", :class => "ids", :id => asset_path "katja01.png" %>