【发布时间】:2011-01-31 22:20:37
【问题描述】:
我遇到了表单和money gem 的问题。
这是我的问题:
- 我创建了一个包含“金额”字段(映射到货币对象)的记录。假设我输入 10(美元)。
- 金钱宝石将其转换为 1000(美分)
- 我编辑了同一条记录,表单将金额字段预填充为 1000
- 如果我保存记录而不更改任何内容,它会将 1000(美元)转换为 100000(美分)
如何让它以美元而不是美分显示预先填充的金额?
编辑:
我尝试像这样编辑 _form.html:
= f.text_field(:amount, :to_money)
我得到这个错误:
undefined method `merge' for :to_money:Symbol
【问题讨论】:
-
现在是 1345。我认为表单正在检索存储的价值,而不会将其转换回美元。
-
那么为什么 1,000 被转换为 100 而不显示 1,000?!那里出了点问题。其次(我没有使用货币宝石),但我怀疑金额字段的属性读取器没有转换值。或者这可能需要由您而不是宝石来完成?您发布的一些代码会有所帮助。另外,检查加载的记录,看看金额字段的值是多少。
-
抱歉打错了。它预填充为 1000。
-
我猜你需要在将其转换为美元后填充表单字段(可能使用
to_money字段或类似的东西) -
我尝试过(查看我的编辑),但表单 html 无法识别 to_money
标签: ruby-on-rails forms rubygems currency formbuilder