我正在使用money-rails gem,并希望在我的视图中显示不同货币的列表,但我现在拥有的代码不起作用。
我有我的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)
.