erbの書き方メモ

erbでの書き方で詰まったのでメモ。
今回は短いです。

sinatraでerbを使ってview側を実装しているWebアプリがあります
(ただ単に東京都の天気をスクレイピングしているだけです)

このアプリは今の日から3日間の天気と降水確率を表示します。

アプリ内では@rainに、その日の降水確率が入っています(要リファクタ必要)
それを日毎にtableタグでeachを使って表現しようとしていたのですが…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table>
<thead>
<tr>
<%= @rain.keys.each do |key| %>
<th><%= key %></th>
<%= end %>
</tr>
</thead>
<tbody>
<tr>
<%= @rain1.values.each do |value| %>
<td><%= value %></td>
<%= end %>
</tr>
</tbody>
</table>

としていたのですが、動かない…。
ただ、実はerbの基本的な囲い文字は<% %>で、<%= %>だとその式内での返り値をその場に挿入というものでした。
なので、each文としてそのまま実行するには=を外さないといけないのでした。

以下、アプリのGithubのURLになります!
https://github.com/TasukuNakano/get-weather
今後は天気の文字ごとに色を変えたり、tableタグ内でセンタリングしたりなどしたい…!
と思っていますが、プルリクエスト大歓迎ですw

参考URL