我希望能够使用模型父级设置的货币动态地设置模型上的货币。
如下所示:
class Event < ActiveRecord::Base
belongs_to :edition
monetize :price_cents, :with_currency => proc { |event| event.edition.currency }event.edition.currency从模型的父级返回一个符号...例如:英镑
但它不起作用。默认约定为:
monetize :bonus_cents, :with_currency => :gbp效果很好..。有什么想法吗?
发布于 2013-07-18 18:59:42
试试这个:
class Event < ActiveRecord::Base
belongs_to :edition
monetize :price_cents
def currency_for_price
Money::Currency.find(edition.currency)
end
end我没有对它进行彻底的测试,但它似乎起作用了。
2.0.0-p195 :012 > Event.new(
edition: Edition.new(currency: :gbp),
price: 123
).price
=> #<Money fractional:12300 currency:GBP>
2.0.0-p195 :013 > Event.new(
edition: Edition.new(currency: :usd),
price: 456
).price
=> #<Money fractional:45600 currency:USD>https://stackoverflow.com/questions/17628658
复制相似问题