Mas*_*son 1 javascript css jquery ruby-on-rails asset-pipeline
我有一个jquery函数,它应该改变页面的背景.我希望背景是app/assets/images目录中的图像.但是,我对使用资产管道引用图像的正确方法感到困惑.
这是我现在的路线:
$('body').css("background-image", "url('welcome.png')");
Run Code Online (Sandbox Code Playgroud)
在url参数中访问图像的最佳方法是什么?
这包含在文档中:
http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets
您应该使用"2.3.3 JavaScript/CoffeeScript和ERB"中描述的方法,这意味着将.erb扩展名添加到JS文件中,并使用asset_path.
另一种更优雅的方法是将图像移动到css.scss文件中的类定义,然后在jQuery中添加该类:
.welcome {
background-image: url(image-path('welcome.png'));
}
Run Code Online (Sandbox Code Playgroud)
在你的jQuery中:
$('body').addClass("welcome");
Run Code Online (Sandbox Code Playgroud)
试试这个:
$('body').css("background-image", "url('/assets/welcome.png')");
Run Code Online (Sandbox Code Playgroud)
要访问管道中的资产,您必须指定该assets文件夹.
我一直试图找到我读到的地方,但Rails基本上将所有资产帮助网址转换为类似/assets/asset.png或类似的东西,/assets/stylesheet.css所以你应该能够通过assets在源网址中指定文件夹来做同样的事情.
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |