0

我有带有字符串“USD”或“EUR”的表格项目。
我在我的控制器变量中创建

 def index
    ...
    @currencydebt = CurrencyRate.find( :all, 
     :conditions => ["created_at < ? and currency_id = ?", Date.today, 2], 
     :order => ["created_at DESC"], :limit => 1 )
    ...
    end

女巫找到最后一种货币美元

** 在我看来**

<% for res in @items %>
     <% for loc in @currencydebt %>
       <%= number_with_precision(((loc.rate.round(2)  * res.payment)), 2) %>
     <% end %>
<% end %>

Аnd 结果显示货币为美元的付款。
但是,如果项目中有字符串美元付款结果为美元,如果项目中有欧元付款结果为欧元,我该怎么做?

我的活动记录

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
4

1 回答 1

1

首先,处理货币总是很棘手。有宝石可以缓解这样的痛苦

但是,要解决您眼前的问题,您必须首先决定基础货币。因此,假设您想保留美元作为基础货币,然后使用 gem 在您想要的任何货币之间切换。

于 2013-08-23T15:15:14.753 回答