slim-lang(ruby)でarrayやhashの書き方

slimで調べるとphpや他の言語も出てきてしまうのですが、hamlと同じくHTMLテンプレートエンジンのslimの使い方です。
slimでforやeachなど繰り返しの項目を作成したい場合、書き方がよくわからなかったのでメモです。

配列やhash

例としてメニューを作って見ます。

- menus = [{label:'メニュー1',:href=>'menu1.html','class'=>'menu1'},{label:'メニュー2',:href=>'menu2.html','class'=>'menu2'}]
- menus.each do |menu|
  li class="#{menu['class']}": a href="#{menu[:href]}" #{menu[:label]}
menu.slim
ソースコード装飾ならGoogle code prettify

書き方が3種類あります。

  1. {key:’value’} = #{変数[:key]}
  2. {:key => ‘value’} = #{変数[:key]}
  3. {‘key’=> ‘value’} = #{変数[‘key’]}

jsに慣れていると{}がオブジェクトに思えるので変数.keyと記述しがちですが、hashなので[]で取得します。
key:valueが一番簡単で、’key’=> ‘value’が展開するときはわかりやすいです。

中の人 に更新 1011文字 451view
※この記事は1年前の記事です。内容が古い可能性があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください