Rails 5.1.0 (Edge) と Haml 4 系の組み合わせて、rails c /rails s / rails r といったコマンドを実行すると以下のような警告ログが出る。
% bunde exec rails c DEPRECATION WARNING: ActionView::Template::Handlers::Erubis is deprecated and will be removed from Rails 5.2. Switch to ActionView::Template::Handlers::ERB::Erubi instead. (called from <module:Haml> at /Users/koic/.rbenv/versions/2.5.0-dev/lib /ruby/gems/2.5.0/gems/haml-4.0.7/lib/haml/helpers/safe_erubis_template.rb:3) Loading development environment (Rails 5.1.0.beta1)
この警告自体は Action View の CHANGELOG.md に書かれているように ERB ハンドラが Erubis から Erubi に変更されることによるもののようだ。
Haml 5.0.0 (beta.2) では railtie.rb の以下のコードで Haml::SafeErubiTemplate
と Haml::SafeErubisTemplate
を使い分けるようになっているので、Haml 5.0.0 (beta.2) を使えばこの警告ログは消えることになる。
if defined? Erubi require "haml/helpers/safe_erubi_template" Haml::Filters::Erb.template_class = Haml::SafeErubiTemplate else require "haml/helpers/safe_erubis_template" Haml::Filters::Erb.template_class = Haml::SafeErubisTemplate end