0
0

Railsでhaml-rails gemをインストールしたのに新規生成されるviewファイルが全部erb拡張子になってた話

Posted at

読んで欲しい人

  • hamlをインストールしたのに、自動生成されるファイルの拡張子が全部.erbになって困っている人
  • 過去の俺

動作環境

  • Ruby 3.3.0
  • Rails 7.1.3.4

エラー内容

  • gemfileにhaml-railsの記述があるのに、generateコマンドで生成されるviewファイルの拡張子が.erbになっている

# gemfileの中身

source 'https://rubygems.org'

ruby '3.3.0'

gem 'rails', '~> 7.1.3', '>= 7.1.3.2'

gem 'bootsnap', require: false
gem 'pg', '~> 1.1'
gem 'puma', '>= 5.0'
gem 'sprockets-rails'
gem 'stimulus-rails'
gem 'turbo-rails'
gem 'haml-rails' #hamlを使用できるようにするgem
gem 'html2haml' #erbをhamlに変えてくれるgem

  • rails g controller ModelNameとかを打つと、viewファイルがerbで生成される

解決方法

  • gemfile内のgemを追記する場所を変えると、viewファイルをhaml拡張子で自動生成してくれた

# 修正後のgemfile

source 'https://rubygems.org'

ruby '3.3.0'

gem 'rails', '~> 7.1.3', '>= 7.1.3.2'

gem 'bootsnap', require: false
gem 'pg', '~> 1.1'
gem 'puma', '>= 5.0'
gem 'sprockets-rails'
gem 'stimulus-rails'
gem 'turbo-rails'

# 開発環境とテスト環境内で使用する
group :development, :test do
  gem 'haml-rails'
  gem 'html2haml'
end

原因

現時点ではわかりませんでした。

ただ、haml-rails gemはhamlジェネレータをrailsの5, 6, 7系に提供をすることで、hamlをディフォルトのテンプレートとして設定してくれています。

haml-railsのreadmeには特に環境指定をするような記述はないので、自分の知識不足だったのかもしれません。

補足

同じ様なgemにhamlit-railsというgemがあるらしいです。

既存のhaml-railsに挙げられているissueを参考にして生成されたgemらしいのでパフォーマンスはこちらの方が良いのかしら?

ネットに落ちていたhamlit-railsについての記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0