5

我正在尝试创建一个 gem 来放置我所有的常用样式表。我不知道如何在 Rails 应用程序中导入样式表。这是我到目前为止所做的(遵循本指南):

  1. 我跑了bundle gem apple_core

  2. 我修改了 apple_core.rb 以包含一个 Rails 引擎类,如下所示:

    require "apple_core/version"
    
    module AppleCore
      class Engine < Rails::Engine
      end
    end
    
  3. 我使用创建了 apple_core 样式表目录mkdir -p lib/apple_core/app/assets/stylesheets/apple_core

  4. 我在 apple_core 样式表目录中创建了一个索引文件,并在其中添加了以下内容:

    /*
     *= require_self
     *= require_tree .
     */
    
  5. 我在同一目录中创建了一个 test.css.scss 文件并添加:

    a
    {
      color: red;
    }
    
  6. 我为 gem 创建了一个 GitHub 存储库并推送它。

  7. 在我的 Rails 应用程序中,我将 gem 添加到资产组中的 Gemfile。

  8. 我跑了bundle install

我尝试使用 将我的 gem 包含在我的一个文件中@import "apple_core";,但是当我尝试加载页面时收到couldn't find file 'apple_core'错误消息。我在这里想念什么?

4

1 回答 1

5

您只需像在 rails 项目中一样镜像 gem 中的目录。所以你可以把资产放到app/assets,lib/assetsvendor/assets. 然后,您必须确保这些文件包含在您的 gemspec 中,例如:

  s.files = Dir["{app,config,db,lib,vendor}/**/*"] + ["MIT-LICENSE", "Rakefile", "Readme.md"]

所以路径应该是vendor/assets/stylesheets/apple_core

于 2012-11-30T15:36:17.820 回答