我很接近,但似乎错过了一些东西。我已放弃OpenLayers.js
app/assets/javascripts
,theme
app/assets/stylesheets
文件夹和img
中的app/assets
文件夹。
我的*= require theme/default/style.css
文件中有application.css
,//= require OpenLayers
文件中有application.js
。
我正在尝试在locations.js.coffee
文件中加载OpenLayers地图,但img文件夹失败。 OpenLayers尝试加载来自/locations/img/...
与/img/...
的图片文件,这些文件似乎也不起作用。
我对Rails中的资产管道仍然模糊,我确信我做错了。我似乎无法找到在Rails应用程序中安装OpenLayers的最佳方法的具体示例。有什么想法或建议吗?
答案 0 :(得分:4)
删除vendor/assets/javascripts
中的完整openlayers目录(为了节省一些空间,我做了一个符号链接):
vendor/assests/javascripts/openlayers
将//= openlayers/OpenLayers
添加到app/assets/javascripts/application.js
:
//= require openlayers/OpenLayers
//= require jquery
//= require jquery_ujs
//= require_tree .
答案 1 :(得分:1)
首先将您的图片放在assets/images
文件夹中。这将使它们可以通过http://localhost/assets/yourimage.png
OpenLayers中的默认行为是从img
文件夹中获取图像,该文件夹应与树结构中的OpenLayers.js位于同一级别,而在Rails应用程序中则不是这样。
要覆盖此行为并使OpenLayers从Rails图像目录中读取图像,您应该设置全局变量OpenLayers.ImgPath = "/assets"