【发布时间】:2014-04-24 02:00:58
【问题描述】:
我正在使用别人写的 gem 来服务fabric javascript library。 gem 使用的是旧版本的库(1.3),我想使用 1.4(最新版本)。我还没有找到使用此版本的任何其他宝石。我的问题是,这是加载资产的最佳方式,还是有更首选的方法?如果是这样,我将如何使用这个库的最新版本构建这个 gem?
【问题讨论】:
标签: ruby-on-rails ruby gem asset-pipeline
我正在使用别人写的 gem 来服务fabric javascript library。 gem 使用的是旧版本的库(1.3),我想使用 1.4(最新版本)。我还没有找到使用此版本的任何其他宝石。我的问题是,这是加载资产的最佳方式,还是有更首选的方法?如果是这样,我将如何使用这个库的最新版本构建这个 gem?
【问题讨论】:
标签: ruby-on-rails ruby gem asset-pipeline
在我看来,在大多数情况下这样做是好的。
根据您的情况,根据您有多少时间,您可能需要执行以下操作之一:
如果 gem 是开源的,你可以 fork 它,更新到最新版本,然后做一个 pull request。
通过这种方式,您也可以为整个 Rails 以及面临同样问题的其他人做出贡献。
缺点是这需要时间。您必须等待作者接受拉取请求并等待 gem 的下一个版本。但是你可以让你的 Gemfile 使用你的分叉版本,直到新版本出来;)
为提供资产的 Rails 编写 gem 实际上并不难。您可以遵循其他现有 gem 的结构,应该很容易理解。
一个很好的例子是https://github.com/rails/jquery-rails
缺点是您必须维护宝石。否则当 fabric 1.5 出来时,另一个人会再次问你同样的问题。
Rails 项目默认有一个供应商目录。也可以把外部资产放在这里。
以上是我管理外部资产的首选方式。
【讨论】: