所以首先,这个问题产生于我对rails的新手,并且在我走的时候想出这个问题。
我正在研究一个项目,并且自从我开始以来已经为我的gemfile添加了一些宝石,我遇到了一些似乎无法解决的问题,但我无法弄明白。当我向我的Gemfile添加gem并运行bundle
时,与该gem关联的资产不会被放入我的assets目录中。
例如,我刚刚将Leaflet Marker Cluster添加到我的项目中,并且此gem有3个文件在assets文件夹中需要,但在运行bundle
后,它们无处可寻。
我在这里做错了什么?
答案 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