如何使用javascript更改image_tag源代码

时间:2017-05-26 09:34:11

标签: ruby-on-rails

我正在尝试创建一个基本上是两个图像的切换。加号图标和减号图标。

不幸的是,如果我使用" assets /"它适用于开发但不适用于生产 - 它不会找到图像。我理解这可能是因为资产消化。

$(".directions-and-alternative-options-toggle").on("click", function(){
    if($(this).hasClass("collapsed")){
      $(this).find("img").attr("src", "/assets/minimize-icon.png");
    } else {
      $(this).find("img").attr("src", "/assets/expand-icon.png");
    }
  });

  <a class="directions-and-alternative-options-toggle collapsed" type="button" data-toggle="collapse" data-target="#reveal-key-directions-in-<%= event.event_id %>" aria-expanded="false" aria-controls="collapse1">
      <%= image_tag "expand-icon.png", class: "expand-icon pull-right" %>
  </a>

有没有办法获得消化的资产路径?

2 个答案:

答案 0 :(得分:1)

如何使用这样的jQuery algo1 <- function(x, y) { p <- 1 if (x ^ p == y) { print(p) } else { p <- p + 1 } algo1(3, 81) 属性:

在视图中:

data

在JS中:

<%= image_tag 'expand-icon.png', class: 'expand-icon pull-right', data: { collapse_icon: asset_path('collapse-icon.png'), expand_icon: asset_path('expand-icon.png')} %>

答案 1 :(得分:1)

我认为你有两个选择:

1 - 将图像(minimize-icon.png和expand-icon.png)移动到项目的公共文件夹中,这样它们就不会被预编译。

2 - 使用asset_path

$(this).find("img").attr("src", "<%= asset_path('minimize-icon.png') %>");