如何在Rails应用程序中安装OpenLayers?

时间:2012-09-05 05:53:42

标签: ruby-on-rails-3 asset-pipeline openlayers

我很接近,但似乎错过了一些东西。我已放弃OpenLayers.js app/assets/javascriptstheme 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的最佳方法的具体示例。有什么想法或建议吗?

2 个答案:

答案 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"