【问题标题】:Creating gems with app assets使用应用资产创建 gem
【发布时间】:2012-03-21 14:35:27
【问题描述】:

我跟着http://railscasts.com/episodes/245-new-gem-with-bundler 用捆绑器制作了一个 gem,这对于我只需要一个 lib 的 gem 来说非常有用,对于我需要创建带有 assets/controllers/models/views 的 mini 应用程序的 gems 有标准做法吗?

【问题讨论】:

    标签: ruby-on-rails ruby gem bundle


    【解决方案1】:

    那时您会希望创建一个引擎。阅读Engines Guides 指南应该会给您一个很好的开始。

    您在 gem 中需要的基本组件是一个位于 lib/your_gem.rb 的文件,其目的是简单地要求您的 gem 需要的任何东西。如果您的 gem 没有其他依赖项,那么它看起来像这样:

    require 'your_gem/engine'
    

    一条线,这么大的力量。它需要的lib/your_gem/engine.rb 文件中包含以下代码:

    module YourGem
      class Engine < Rails::Engine
      end
    end
    

    通过简单地从Rails::Engine 继承,这会触发Rails::Engine 上的继承钩子,通知框架在您的gem 的位置有一个引擎。

    如果您随后在 app/assets/stylesheets/your_gem/beauty.css 创建一个文件,则可以使用以下行将其包含在您的应用程序中(当然,假设您启用了资产管道):

    <%= stylesheet_link_tag "your_gem/beauty" %>
    

    既然我已经给了你它的简短版本,我真的真的真的非常推荐阅读 Engines Guide 从上到下以更好地理解它。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      相关资源
      最近更新 更多