文字列「USD」または「EUR」を含むテーブル項目があります。
コントローラー変数で作成します
def index
...
@currencydebt = CurrencyRate.find( :all,
:conditions => ["created_at < ? and currency_id = ?", Date.today, 2],
:order => ["created_at DESC"], :limit => 1 )
...
end
魔女は最後の通貨 USD を見つける
** 私からしてみれば**
<% for res in @items %>
<% for loc in @currencydebt %>
<%= number_with_precision(((loc.rate.round(2) * res.payment)), 2) %>
<% end %>
<% end %>
その結果、通貨 USD での支払人が表示されます。
しかし、アイテムに文字列 USD がある場合、支払い結果が USD であり、アイテムに EUR がある場合、結果として表示されるのはどうすればよいでしょうか。
私のアクティブレコード
create_table "items", :force => true do |t|
t.string "name"
t.string "currency"
t.decimal "payment"
...
end
create_table "currency_rates", :force => true do |t|
t.integer "currency_id"
t.decimal "rate"
...
end
create_table "currencies", :force => true do |t|
t.string "name" #USD or EUR
t.string "short_name"
end