2
1

More than 3 years have passed since last update.

Hamlで式展開するときはイコールとかダブルクォーテーションとかいらんかった

Last updated at Posted at 2020-01-11

なんかすごい無駄な書き方をしていたことに気づいたので、執筆します。
同じことしている人とかいないとは思いますが...。

やりたいこと

  • last updated : 2020-01-11 15:00と出力したい。
  • 2020-01-11 15:00 の部分が動的に変わる。

こう書いてた

= "last updated : #{@first_book.updated_at.strftime("%F %R")}"

これでよかった

last updated : #{@first_book.updated_at.strftime("%F %R")}

気づいた経緯

経緯は書かなくてもいいかなと思ったのですが、せっかくなので。

まず、フッターにコピーライトで © 2019-2020 Yoshida みたいに出そうとして、
この 2020 の部分を動的にすれば、年明けてもメンテいらねえじゃんとか思ったのがきっかけでした。

それで、以下のように書きました。get_this_year はヘルパーです。

= "© 2019-#{get_this_year} Yoshida"

すると、以下のように出力されてしまいました。
ヘルパーは想定通り動いているようですが、©️ をうまく出せていません。

© 2019-2020 Yoshida

困った私は、Rubyで ©️ を出すにはどうすればいいかググっていました。
しかし、これといったページにたどり着けず、発想を変えようとしました。
具体的には、ERBみたいに行頭にイコールとか使わずに書けねえものか、といった感じです。

&#169; 2019-<%= get_this_year %> Yoshida

この方向でググっていると、普通にHamlの入門的な記事にたどり着きました(笑)
先述した通り、以下のように書けばよいことがわかりました。
文字列結合したいときに、思考停止で "hoge#{helper}" と書いていました...。

&#169; 2019-#{get_this_year} Yoshida

参考

2
1
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
2
1