Ruby资产安装不正确

时间:2014-04-07 01:52:41

标签: ruby-on-rails

所以首先,这个问题产生于我对rails的新手,并且在我走的时候想出这个问题。

我正在研究一个项目,并且自从我开始以来已经为我的gemfile添加了一些宝石,我遇到了一些似乎无法解决的问题,但我无法弄明白。当我向我的Gemfile添加gem并运行bundle时,与该gem关联的资产不会被放入我的assets目录中。

例如,我刚刚将Leaflet Marker Cluster添加到我的项目中,并且此gem有3个文件在assets文件夹中需要,但在运行bundle后,它们无处可寻。

我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

它们不会在您的资产文件夹中。您需要在application.css / js中明确要求它们。

//=require leaflet.markercluster.js

答案 1 :(得分:0)

如果您希望在assets文件夹中编译资产,您有两个选择:

1-在清单上添加您想要的资产:

//= require some_file_from_your_plugin

2-在预编译资产数组配置中添加资产:

config / environments / production.rb,转到config.assets.precompile并添加要在其中编译的资产,例如:

config.assets.precompile += %w( my_asset1.css another_asset.js)

您需要各自一个,具体取决于您在网站上实施每项资产的方式: - 如果只加载application.js,则需要像选项1一样添加资源 - 如果您使用类似“= javascript_include_tag'other_asset.js'”的内容,那么您需要选项2

我真的建议你花点时间阅读有关资产http://guides.rubyonrails.org/asset_pipeline.html的指南,这非常有帮助,它几乎涵盖了您需要了解的有关资产,缓存,压缩,缩小的任何内容。

答案 2 :(得分:0)

rails-assets存在问题。看看这个https://github.com/Leaflet/Leaflet.markercluster/issues/394

如果您想在不等待下一个版本的情况下使用leaflet.markercluster,这里有适合您的解决方案。

#= require leaflet.markercluster/dist/leaflet.markercluster.js