3

我很接近,但似乎缺少一些东西。我已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/...vs.加载图像文件,/img/...这似乎也不起作用。

我对 Rails 中的资产管道仍然很模糊,我确信我做错了。我似乎找不到在 Rails 应用程序中安装 OpenLayers 的最佳方式的具体示例。有什么想法或建议吗?

4

2 回答 2

4

将完整的 openlayers 目录放入vendor/assets/javascripts(为了节省一些空间,我做了一个符号链接):

vendor/assests/javascripts/openlayers

添加//= openlayers/OpenLayersapp/assets/javascripts/application.js

//= require openlayers/OpenLayers
//= require jquery
//= require jquery_ujs
//= require_tree .
于 2012-11-22T11:20:42.777 回答
1

首先将您的图像放入assets/images文件夹中。这将使它们可以通过http://localhost/assets/yourimage.png

imgOpenLayers 中的默认行为是从应与 OpenLayers.js 在树结构中位于同一级别的文件夹中获取图像,这在 Rails 应用程序中不是这种情况。

要覆盖此行为并使 OpenLayers 从 Rails 图像目录中读取图像,您应该设置全局变量OpenLayers.ImgPath = "/assets"

于 2012-09-05T12:13:38.680 回答