我的模型Expense
已经修改getter和setter为quantity
属性,以应用货币正在使用不使用自定义的getter:的form_for当加载属性
这里的吸气剂:
def quantity
update_rates
c = read_attribute(:quantity)
if @@current_currency != "EUR"
@@eu_bank.exchange(c*100, "EUR", @@current_currency).cents/100.0
else
c
end
end
这是用于调用@expense.quantity
时的情况,如在索引或show视图中。但是,如果使用form_for(@expense)
标记编辑费用,则加载的数量值不是应该的值。直接从数据库(我猜)提取它显示我定义的吸气剂不被使用:
<%= form_for(@expense) do |f| %>
<div class="field">
<%= f.label :quantity %><br>
<%= f.text_field :quantity %>
<% end %>
我该如何解决这个问题?
量被存储在数据库中作为欧元,而转换是基于欧元和当前货币之间的汇率造 – dabadaba