修复链轮弃用:不推荐使用方法`register_engine`

时间:2018-04-24 08:42:52

标签: ruby-on-rails ruby jquery-templates sprockets

版本

  • Ruby 2.4.3
  • Rails 5.1.3
  • 链轮3.7.3
  • jquery-tmpl-rails 1.1.0

问题:

最新版本的jquery-tmpl-rails会触发链轮弃用警告:

DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.

https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors 
(called from block (2 levels) in <class:Railtie> at /my/path/to/gems/jquery-tmpl-rails-ef6f58001d41/lib/jquery-tmpl-rails/engine.rb:10)

尝试解决:

在弃用警告之后,gem中的问题只是驻留在此处:https://github.com/jimmycuadra/jquery-tmpl-rails/blob/master/lib/jquery-tmpl-rails/engine.rb#L10

目前正在:

app.assets.register_engine(".tmpl", JqueryTemplate)

然后,我访问了链轮指南,以处理折页,可扩展性和符合链轮2,3,4。 https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors

我尽力在这个问题上解决这个问题:https://github.com/oceanshq/jquery-tmpl-rails/commit/de7a59894f512efb3c1eba432da3517f21d921a2

这是:

asset.register_mime_type 'application/javascript', extensions: ['.tmpl'], charset: :unicode
asset.register_preprocessor 'application/javascript', JqueryTemplate

但是,此尝试只是在尝试运行Web应用程序或在CI上进行测试时处理破坏。显然,我错过了一些东西。

问题

  • 我在这里缺少一种简单的句法方法吗?
  • 我在文档中不清楚,虽然在Sprockets 3中不推荐使用register_engine,但实际上是否可以在停留在Sprockets 3中时从register_engine迁移?
  • 如果我们在可预见的将来继续留在链轮3上,是否可以犹豫不决?通常我会将弃用视为需要修复的错误&#39;

0 个答案:

没有答案