我想写一个宝石,一旦绑定到Rails 3.1 Gemfile,就会包含一些样板CSS和JS文件.
我知道生成器,但是如果没有它们可以做到这一点,那么可以添加和删除宝石的效果,而不必在Rails Gemfile中编辑一行呢?
理想情况下,我希望宝石在安装时包含其默认的CSS / JS,然后让用户使用生成器生成CSS / JS文件,如果他们想进行任何修改.
这是一个从jquery-rails复制的示例gem,其中包含没有生成器的javascript文件.
css_gem/ lib/ css_gem.rb {1} css_gem/ engine.rb {2} app/ assets/ stylesheets/ css_gem/ index.css {3} base.css {4}
{1} lib / css_gem.rb
module CssGem require "css_gem/engine" end
{2} lib / css_gem / engine.rb
module CSSGem class Engine < Rails::Engine end end
{3} app / assets / stylesheets / css_gem / index.css
/* *= require base */
{4} app / assets / stylesheets / css_gem / base.css
.custom { color: red; }
Rails Gemfile
gem 'css_gem',:path => 'path_to_my_local_gem'
这对我来说不起作用,Rails看不到CSS文件.我究竟做错了什么?
解决方案:幸运的是,我发现一个视频握住我的手:@L_301_1@
我不得不手动添加* = require css_gem到我的Rails样式表清单(app / assets / stylesheets / application.css).咄.
解决方法
免责声明 – 我还没有尝试过.您可以利用Rails 3.1中的资产管道,将宝石中的资产用于客户端应用程序,而无需使用生成器.
还没有找到这个使用的实际例子,但这里是早期文档的链接
http://edgeguides.rubyonrails.org/asset_pipeline.htmlhttp://edgeguides.rubyonrails.org/asset_pipeline.html#adding-assets-to-your-gems