使用Rails 3.1资产管道的JavaScript代码中的图像URL
URL of images in JavaScript code using Rails 3.1 asset pipeline?
在CSS文件中,您可以使用:
获得图像资源的正确名称(带有指纹)background-image: url(image-url("rails.png"))
但是如何从JavaScript文件中做同样的事情呢?
我看到你正在使用sass helper方法。
在标准(非Sass) CSS中,你可以这样做:
.class { background-image: url(<%= asset_path 'image.png' %>) }
CSS文件需要添加erb扩展名:
file_name.css.erb
file_name.js.erb
和文件中的
var image_path = '<%= asset_path 'image.png' %>'
Rails资源管道指南是一个关于如何使用这些特性的极好的信息来源。
在Rails 4中,我建议你不要使用js.erb
视图,而是坚持使用资产管道,并使用变量传递URL给它,而不是使用gon或其他一些技术讨论:Ruby on Rails -将JavaScript变量从控制器发送到外部JavaScript资产文件
With gon
:
app/views/布局/application.html.erb:
<head>
<meta charset="utf-8"/>
<%= include_gon %>
app/controllers/application_controller.rb:
before_filter { gon.path = asset_path 'image.png' }
app/资产/javascript/file.js.coffee:
alert gon.path
这个方法更快,因为文件只在启动时预编译一次,由服务器而不是通过Rails提供服务,并且与其他Js在相同的HTTP请求上。
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间