Rails 4、Ruby 2、jQuery 1.11
我的应用程序具有使用 DataTables 构建的表。我正在使用 jQuery 来修改这些表的 HTML。我正在尝试添加 Assets /图像中的图像,但我似乎无法确定访问它所需的路径。由于我在预处理后编辑 HTML,因此它是 native HTML,我无法在其中使用 Rails 变量。
我可以让 Rails 识别图像的存在,或者更具体地说是 RubyMine。由于我在JavaScript中,路径“../images”可以访问图像。但是,这不适用于 HTML。
我的问题是,鉴于图像位于 app/assets/images 中,我必须指定什么路径才能使 native HTML 能够访问该图像?
$('input[type=search]').each(function () {
var $this = $(this);
$this.addClass("theSearch");
$('.theSearch')
.append('<img id="clrImg" class="clrSearch" src="../images/DeleteRed.png" />');
...
FWIW,这将是一个单击时会清除搜索字段的按钮。现在,它正在使用“X”,但这很难看......
我应该注意到,我已经尝试了/app/assets/images/... 的多种排列
最佳答案
明白了...
Assets 不仅经过预处理,而且还被丑化并公开安装。我将其复制到 public/assets/images 并能够以 asset/images/DeleteRed.png 的形式访问它。
谢谢...
更新: 这仅在某些情况下有效。当我使用该应用程序时,我发现 URI 发生了变化。绝对 URI 始终有效,但有一些问题:
http://myprefix.mydomain.com/assets/images/DeleteRed.png
例如,当 myprefix 或 mydomain 发生更改(例如当我将其推送到生产环境时)时,这将失败。最好测试系统变量并构建测试、开发、生产等路径。
关于javascript - Rails 应用程序中 native HTML 需要图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751649/