作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 money-rails gem并希望在我的 View 中显示不同货币的列表,但我现在拥有的代码无法正常工作。
我有我的 Price
模型和字段 in_cents
和 currency
:
create_table :prices do |t|
t.integer :in_cents, default: 0, null: false
t.string :currency, default: 'USD', null: false
现在根据Money gem和 Money-Rails 文档我必须做类似的事情:
class Price < ActiveRecord::Base
monetize :in_cents, as: "amount", with_model_currency: :in_cents_currency
def all_currencies(hash)
hash.keys
end
比起我对简单形式 gem 的看法:
= f.input :currency, collection: all_currencies(Money::Currency.table)
= f.input :amount, required: false
但这给了我错误:
undefined method `all_currencies' for #<#<Class:0xd154124>:0xd15bab4>
为什么?
附言
我想显示 ISO 代码和名称,例如 United States Dollar (USD)
。
最佳答案
不确定这是最好的解决方案,但我做了一个这样的助手:
def currency_codes
currencies = []
Money::Currency.table.values.each do |currency|
currencies = currencies + [[currency[:name] + ' (' + currency[:iso_code] + ')', currency[:iso_code]]]
end
currencies
end
关于ruby-on-rails - 钱轨 gem : How to make a select list for all currencies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25335528/
我是一名优秀的程序员,十分优秀!