こんにちは、仲間のプログラマーです。私は Ruby on Rails 初心者で、助けが必要です。
今日の日付に基づいて、データベースにクエリを実行し、結果を配列として取得しています。
@cr = [#<CRate id: 1, currency: "AUD", rate: 2.0, datetime: "2013-10-09 22:59:59">,
#<CRate id: 7, currency: "USD", rate: 10.0, datetime: "2013-10-09 29:50:50">,
#<CRate id: 9, currency: "EUR", rate: 20.0, datetime: "2013-10-09 22:59:59">,
#<CRate id: 12, currency: "RUB", rate: 12.0, datetime: "2013-10-09 22:59:59">,
#<CRate id: 14, currency: "AUD", rate: 18.0, datetime: "2013-10-09 29:50:50">]
質問:時間に応じて、通貨 (ヘッダー) に基づいてテーブルを動的に表示する必要があります。レートが存在する場合は表示し、それ以外の場合は出力は nil です。以下の表のように:
私はこれをやろうとしました:
<table>
<thead>
<th>Time</th>
<% @currency = @cr.collect(&:currency) %>
<% @currency.each do |cur| %>
<th><%= cur %></th>
<% end %>
</thead>
<tbody>
<tr class="<%= cycle('odd', 'even') %>">
<td><%= @datetime = @cr.collect(&:datetime) %></td>
<% @rate = @cr.collect(&:rate) %>
<% @rate.each do |r| %>
<td><%= r %></td>
<% end %>
</tr>
</tbody>
</table>
ヘッドが 2 つの AUD で更新されており、続行方法がわからないため、これは機能しません。助けてください。
どうもありがとう。