Rails 4.2:JS中的图像路径问题
Rails 4.2 : image path trouble in JS
以下是我的代码的一部分。没有加载背景图像。我尝试过类似'<%=asset_path("images/bg1.jpg"(%>'和"images/bg1.jpg"等。我是新手,有人能给我指正确的方向吗?
$(".login-bg").backstretch(["bg1.jpg","bg2.jpg","bg3.jpg"],{fade:1e3,duration:8e3})
来自演示:
$.backstretch([
"http://dl.dropbox.com/u/515046/www/outside.jpg"
, "http://dl.dropbox.com/u/515046/www/garfield-interior.jpg"
, "http://dl.dropbox.com/u/515046/www/cheers.jpg"
], {duration: 3000, fade: 750});
显然,您的代码无法工作,因为您所做的只是传递字符串。相反,你想做的是通过为你的图像提供服务的路线。
假设您在javascript文件中有这个,您将无法使用rails助手。在这种情况下,你必须做的是:
- 构建一个为以下映像提供服务的控制器:
ImagesController
- 只需将图片上传到在线云上,并将链接放入阵列中
或者,您应该能够在视图(html.erb(中编写一个script
,并且您应该能够通过这种方式访问rails辅助对象。然后,您就可以将链接插入为字符串。
即"[#{image_path('bg1.jpg')}", "#{image_path('bg2.jpg')}"]
您提供的代码是Javascript,将从用户的浏览器在用户的机器上执行。因此,它将无法直接访问应用程序服务器上images
目录中的文件。
如果您将Javascript文件命名为something.js.erb
,则可以在其中嵌入Ruby代码,以便通过资产管道进行扩展,例如:
$(".login-bg")
.backstretch(
["<%= image_url('bg1.jpg') %>",
"<%= image_url('bg2.jpg') %>",
"<%= image_url('bg3.jpg') %>"
],
{ fade: 1e3, duration: 8e3 }
)
Rails资产管道指南是关于如何使用这些功能的极好信息来源。
相关文章:
- 复制图像路径以单击它
- 如何使用jquery将base64图像路径转换为真实路径
- 滚动页面时的弯曲图像路径
- Gulp bower图像路径
- Symfony2-Javascript文件中的图像路径
- 将图像内容而非图像路径存储在mongodb中
- MVC5 和 Javascript 相对图像路径混淆
- 简单的图像滑块Javascript图像路径在IE 6中不起作用
- 从表单中派生要使用javascript对象加载的图像路径
- 如何设置与CKEditor一起使用的图像路径
- AngularJS/JavasScript中的本地图像路径
- 将 grunt-usemin 与动态生成的图像路径一起使用
- 如何使用 php 将捕获的图像路径存储在 mysql 数据库中
- 需要 Rails 应用程序中本机 HTML 的图像路径
- Javascript 无法解析正确的图像路径,当使用 URL 路由在 ASP.Net 中请求页面时
- 在 jquery 中为内联 css 构建图像路径的最佳方法
- “电子邮件”在电话间隙中共享的图像路径
- 使用带有错误图像路径的 jQuery 加载打开的页面
- 推送整个网站数组中的所有图像路径
- 使用一个javascript字符串作为css背景属性的图像路径