ruby-on-rails - 如何使用javascript更改image_tag源

标签 ruby-on-rails

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

不幸的是,如果我使用“assets/”,它适用于开发,但不适用于生产 - 它不会找到图像。我理解可能是因为 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>

有什么办法可以获取消化后的 Assets 路径吗?

最佳答案

我认为你有两个选择:

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

2 - 使用asset_path :

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

关于ruby-on-rails - 如何使用javascript更改image_tag源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198213/

相关文章:

mysql - `require' : cannot load such file -- mysql(LoadError)

ruby-on-rails - Rails 3. simple_format 不要将结果包装在段落标签中

ruby-on-rails - 分配已被提取到 gem 。使用 gem 'rails-controller-testing' 。 gem 有替代品吗?

ruby-on-rails - Rails 中的多列索引顺序

ruby-on-rails - Ubuntu 14.04 上的 GitLab 和 Redis : resource temporarily unavailable

ruby-on-rails - Ruby on Rails可重排的有序列表

javascript - 只有当所有代码都在一行上时,AJAX 请求才能正常运行

ruby-on-rails - 删除一直转到Rails应用程序的Show页面

ruby-on-rails - 我安装了两个版本的 Ruby(1.8.7 和 1.9),如何指定哪一个用于 rails?或者这重要吗

jquery - cucumber 测试网页的背景颜色