首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在没有生成器的情况下,如何将CSS/JS文件打包成Gem for Rails 3.1?

在没有生成器的情况下,如何将CSS/JS文件打包成Gem for Rails 3.1?
EN

Stack Overflow用户
提问于 2011-07-18 03:34:15
回答 4查看 7K关注 0票数 16

我想写一个gem,一旦绑定到Rails3.1Gemfile中,就会包含一些样板CSS和JS文件。

我知道生成器,但是如果没有生成器,我如何才能做到这一点,这样就可以添加和删除gem的效果,而不需要编辑Rails Gemfile中的一行?

理想情况下,我希望gem在安装时包含默认的CSS/JS,然后让用户使用生成器生成CSS/JS文件,如果他们想做任何修改的话。

这是我从jquery-rails复制的一个示例gem,其中包含没有生成器的javascript文件。

代码语言: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

代码语言:javascript
复制
module CssGem
  require "css_gem/engine"
end

{2} lib/css_gem/engine.rb

代码语言:javascript
复制
module CSSGem
  class Engine < Rails::Engine
  end
end

{3}应用程序/资源/样式表/css_gem/index.css

代码语言:javascript
复制
/*
 *= require base
 */

{4}应用程序/资源/样式表/css_gem/base.css

代码语言:javascript
复制
.custom { color: red; }

Rails Gemfile

代码语言:javascript
复制
gem 'css_gem', :path => 'path_to_my_local_gem'

这对我不起作用,Rails看不到CSS文件。我做错了什么?

解决方案:谢天谢地,我找到了一个可以拉我手的视频:http://house9.blogspot.com/2011/06/rails-31-asset-gem.html

我仍然需要手动将*= require css_gem添加到我的Rails样式表清单中(app/assets/stylesheets/application.css)。是啊。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-18 04:14:17

免责声明-我还没有尝试过。您可以利用Rails 3.1中的Asset Pipeline使gem中的资产可供客户端应用程序使用,而无需使用生成器。

我还没有找到使用中的实际示例,但这里有指向早期文档的链接

http://edgeguides.rubyonrails.org/asset_pipeline.html http://edgeguides.rubyonrails.org/asset_pipeline.html#adding-assets-to-your-gems

票数 2
EN

Stack Overflow用户

发布于 2012-07-17 12:24:26

Zurb有一篇很棒的文章,讲述了他们如何将基础资产打包为gem:

"Yetify Your Rails: New Foundation Gem and How To Gemify Your Own Assets"

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6726256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档