RubyGems:将资产从一个gem包含到另一个gem(我的宝石)

时间:2013-08-18 17:49:32

标签: rubygems asset-pipeline font-awesome rails-engines

我正在捆绑我自己的宝石,它依赖于另一个宝石的资产。为了简化这种情况,我正在使用以下内容:

演示应用程序

新宝石

Font Awesome Gem(https://github.com/bokmann/font-awesome-rails

我在New Gem中包含Font Awesome gem,如下所示:

# new_gem.gemspec
Gem::Specification.new do |gem|
  ...
  gem.add_dependency "font-awesome-rails"
  ...
end

# app/assets/stylesheets/new_gem.css.scss
@import "font-awesome";

然后我构建,安装New Gem并将其添加到我的演示应用程序中。在应用程序css中,我引用了New Gem的样式表,如下所示:

# app/assets/stylesheets/application.css
@import "new_gem";

问题是当我运行应用程序时,在运行时我收到以下错误:

File to import not found or unreadable: font-awesome.

结果,我想知道我是否有可能在我的新宝石中使用Font Awesome的资产?我明白如果我将资产(fonts,css)直接复制到New Gem的css文件中,一切都会好的。我想避免这种情况,因为每次更新Font Awesome时我都不想更新我的gem。

提前致谢!

1 个答案:

答案 0 :(得分:0)

就我而言,它只是将'font-awesome-rails'包含在my_engine.rb

的标题中
require 'my_engine/version' 
require 'font-awesome-rails' #<= here it comes

...

module My_Engine
   module Rails
      class Engine < ::Rails::Engine
...