我们的组织中有大多数项目使用的通用 CSS 样式。这些资产(css、图像等)包含在每个项目的源代码中。
我想要一个可以托管这些资产的 gem,并且使用这个 gem 的项目可以直接使用它们。目前,我只能找到使用生成器并将资产“安装”到项目中的方法,而不是从 gem 本身使用它们。
主要要求是,如果对资产进行了错误修复/改进,只需更新 gem 就可以让我在所有使用升级后的 gem 的项目中获得最新信息。
我该怎么做呢?
我们的组织中有大多数项目使用的通用 CSS 样式。这些资产(css、图像等)包含在每个项目的源代码中。
我想要一个可以托管这些资产的 gem,并且使用这个 gem 的项目可以直接使用它们。目前,我只能找到使用生成器并将资产“安装”到项目中的方法,而不是从 gem 本身使用它们。
主要要求是,如果对资产进行了错误修复/改进,只需更新 gem 就可以让我在所有使用升级后的 gem 的项目中获得最新信息。
我该怎么做呢?
如果您将 gem 设置为 rails 引擎,则可以在 rails 3.1+ 中轻松完成此操作。除此之外,如果您将资产添加到引擎,那么您可以从应用程序的清单文件等中获取这些 CSS 文件。
这里有一个关于如何做到这一点的演练,还有很多包装 js/CSS 包的 gem,其确切目的是能够升级使用的资产,而无需运行生成器或任何东西。例如 jquery-rails gem 为 jquery 做这个。一个更复杂的例子是 jquery-ui-rails,它捆绑了所有的 jquery ui js、CSS、图像等,让你只加载你实际需要的 jquery ui 组件。