ryoです。AP午後の自己採点が58点、部分点次第で合格ワンチャンなせいで気持ち悪い2ヶ月になりそうです。
昨日は新しくアプリケーションを立ち上げるセットを覚えました。
通っているスクールではhtmlはhamlを使って記述しています。
しかし、昨日scaffoldで出来上がったビューファイルはerbです。
そこで今日は、erbからhamlに自動変換をするコマンドを使います。
この記事で出来る様になること
ビューファイルをerbからhamlに変換する。
目次
- コマンドと記述一覧
- 各コマンドと記述の説明
- よく聞くエラーとか
コマンドと記述一覧
gemをインストールするため、Gemfileに下記を記述します。
gem 'haml-rails'
gem 'erb2haml'
ターミナルコマンドは下記だけです。
bundle install
rake haml:replace_erbs
これだけです。手抜きな感じです。
各コマンドと記述の解説
Gemfileです。
haml-railsがhamlを使える様にするGemです。
erb2hamlが変換できる様にするGemです。
*erb2hamlは、haml-railsに備わっているため、不要であるとの話も聞いたことあります。
俺は実際に確かめていないです。
むしろ誰か試してみて、結果がわかったら教えてください。
gem 'haml-rails'
gem 'erb2haml'
上記二つをインストールします。
bundle install
これが、ergを全てhamlに変換するコマンドです。
rake haml:replace_erbs
出力結果は下記のようになります。
Converting: app/views/users/registrations/edit.html.erb... Done!
Removing: app/views/users/registrations/edit.html.erb... Removed!
Converting: app/views/users/registrations/new.html.erb... Done!
Removing: app/views/users/registrations/new.html.erb... Removed!
Converting: app/views/users/sessions/new.html.erb... Done!
Removing: app/views/users/sessions/new.html.erb... Removed!
Converting: app/views/users/shared/_error_messages.html.erb... Done!
Removing: app/views/users/shared/_error_messages.html.erb... Removed!
Converting: app/views/users/shared/_links.html.erb... Done!
Removing: app/views/users/shared/_links.html.erb... Removed!
Converting: app/views/users/unlocks/new.html.erb... Done!
Removing: app/views/users/unlocks/new.html.erb... Removed!
*たまに、途中でYorN?みたいに聞かれることはありますが、これはhamlファイル作ったけど、元のerbのファイルは消しちゃっていい?的なことを聞かれています。基本的に使わないはずなのでYesのYで大丈夫です。
これで、変換終了です。
よく聞くエラーとか
変換して早速ビューを見てみようとしたら、エラーが出たよ!って聞くことがあります。
templateがmissingしてtext/html的な・・・スクショしておけばよかったorz
結論、rails sを再起動すれば大抵治ります。焦らず再起動しましょう。
一つだけerbをhamlに変換したいけど、コマンドとか面倒くさい・・・って人もいるかもしれないです。
Convert HTML to HAMLというhtmlをコピペしただけでhamlに変換してくれるサイトもあります。載せておきますね。
終わりです。お疲れ様でした。