我正在尝试创建一个gem来放置所有常见的样式表。我无法弄清楚如何在Rails应用程序中导入样式表。这是我到目前为止所做的(跟this guide之后):
我跑了bundle gem apple_core
。
我修改了apple_core.rb以包含这样的rails引擎类:
require "apple_core/version"
module AppleCore
class Engine < Rails::Engine
end
end
我使用mkdir -p lib/apple_core/app/assets/stylesheets/apple_core
创建了apple_core样式表目录。
我在apple_core stylesheets目录中创建了一个索引文件,并在其中添加了以下内容:
/*
*= require_self
*= require_tree .
*/
我在同一目录中创建了一个test.css.scss文件并添加了:
a
{
color: red;
}
我为gem创建了一个GitHub存储库并推送它。
在我的Rails应用程序中,我将gem添加到资产组中的Gemfile中。
我跑了bundle install
。
我尝试使用@import "apple_core";
将我的gem包含在我的一个文件中,但是当我尝试加载页面时收到couldn't find file 'apple_core'
错误。我在这里缺少什么?
答案 0 :(得分:5)
您只需镜像gem中的目录,就像它们在rails项目中一样。因此,您可以将资源投放到app/assets
,lib/assets
和vendor/assets
。然后,您必须确保这些文件包含在您的gemspec中,例如:
s.files = Dir["{app,config,db,lib,vendor}/**/*"] + ["MIT-LICENSE", "Rakefile", "Readme.md"]
因此路径应为vendor/assets/stylesheets/apple_core
。