コジマです。
Rails勉強してて思ったことがありまして
view書くのめんどくしゃい…
何がめんどくさいってviewをHTMLで書くときの閉じタグがめんどくさくて、
自分がタグを閉じてる間に皆が飲みに行ったり遊びに行ったりしていると思うととても憂鬱です。
もうタグなんて閉じたくない。
もっと楽に書きたい!
天の声「コジマさん、あなたも閉じタグに苦しんでいるようですね」
コジマ「はい」
天の声「あなたにはこれを授けましょう」
コジマ「これは…slim…??」
すみません茶番です
実際は周りのエンジニアから「slimよく使うよー」なんて聞いたもんで、自分でも覚えとこうと思った次第ですw
Gemfileに導入するのは
slim-rails
html2slim
の2つです。
slim-railsはrailsでslimを使えるようにするためのgemで、
html2slimはhtmlをslimに変換するためのhtml2slimコマンドとerbをslimに変換するためのerb2slimコマンドを提供してくれるgemです。
Gemfileに追記して行きます。
# for view gem 'slim-rails', '~> 3.1', '>= 3.1.3' gem 'html2slim', '~> 0.2.0'
そしたらbundle installを実行します。
$ bundle install The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. Fetching gem metadata from http://rubygems.org/............. Fetching gem metadata from http://rubygems.org/.. Resolving dependencies... ・ ・ ・ Fetching hpricot 0.8.6 Installing hpricot 0.8.6 with native extensions Fetching html2slim 0.2.0 Installing html2slim 0.2.0 ・ ・ ・ Fetching slim-rails 3.1.3 Installing slim-rails 3.1.3 ・ ・ Gems in the group production were not installed. Use `bundle info [gemname]` to see where a bundled gem is installed.
これで準備ができました。
erbをhtmlに変換して、erbは削除するコマンドを実行します。
下記の記事を参考にしました。
Rubyのテンプレートエンジンをerbからslimに変更する際に変えた2つのこと
$ for i in app/views/**/*.erb; do erb2slim $i ${i%erb}slim && rm $i; done
これでできました!
以前導入したdeviseのviewの画面もきちんとslimに変換されました。
一応書いておきますが、
rails g devise:views をやっておくと良いと思います。
てなわけで画面を作っていくぞー
以上、コジマでした。