LoginSignup
52
49

More than 5 years have passed since last update.

hamlでハッシュロケットを使わない記法について書きたい

Last updated at Posted at 2015-10-21

hamlとは

HTMLを簡単に素早く書くことができるニューフェイス。

application.html.erb
<!DOCTYPE html>
<html>
<head>
  <title>TestJs</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

application.html.haml
!!! 5
%html
  %head
    %title
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
    = javascript_include_tag 'application', 'data-turbolinks-track' => true
    = csrf_meta_tags
  %body
    = yield

ハッシュロケットとは

=>
↑これ

どうも古い書き方らしい

書き方

シンボル型で書き換えるだけ
'class' => hoge
これを↓
class: hoge

問題

シンボル型のキーにはハイフンが入っているとまずい。
data-turbolinks-track: true
↑これはダメ

解決策

こうするといいらしい
data: { turbolinks: { track: true }}

完成

application.html.haml
!!! 5
%html
  %head
    %title
    = stylesheet_link_tag    'application', media: 'all', data: { turbolinks: { track: true }}
    = javascript_include_tag 'application', data: { turbolinks: { track: true }}
    = csrf_meta_tags
  %body
    = yield

所感

{}の数でエラー吐かれまくって泣きそうになった。
hamlに関してはまだいろいろよくわかっていないので頑張りたい。

52
49
1

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
52
49