Sinatra アプリに次の SQLite テーブルがあります。
+----------------------------------+
| location area |
+----------------------------------+
| Maine 1 |
| Syracuse 2 |
| Northport 3 |
| NYC 4 |
| Coatesville 4 |
| Erie 4 |
| Dayton 5 |
| Chicago 6 |
| Dallas 6 |
+----------------------------------+
このデータから、次のような HTML テーブルを作成したいと思います。
<table>
<thead>
<tr>
<th>Area 1</th>
<th>Area 2</th>
<th>Area 3</th>
<th>Area 4</th>
<th>Area 5</th>
<th>Area 6</th>
</tr>
</thead>
<tbody>
<tr>
<td>Maine</td>
<td>Syracuse</td>
<td>NorthPort</td>
<td>NYC</td>
<td>Dayton</td>
<td>Chicago</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>Coatesville</td>
<td></td>
<td>Dallas</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>Erie</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
ネストされた 2 つのループを使用して、各エリアとその中に含まれる場所を簡単に反復できますが、td と tr がテーブルで機能する方法のため、各エリアの場所を 1 つの列に反復する方法がわかりません。
私はテーブルの頭を下げたと思います:
<thead>
<tr>
<% @table_areas.each do |x| %>
<th><%= x.area %></th>
<% end %>
</tr>
</thead>
しかし、私は残りを理解できないようです。各エリア内のエリアと場所は頻繁に変更されるため、これを動的に作成する必要があります。