通过父模型管理货币的铁钱

时间:2014-03-08 15:46:43

标签: ruby-on-rails ruby-on-rails-4 money-rails

使用money-rails gem https://github.com/RubyMoney/money-rails

我以前一直在使用with_model_currency方法:

delegate :currency, :to => :edition, :prefix => true

monetize :base_fee_pennies, :allow_nil => true, :with_model_currency => :edition_currency
monetize :qm_fee_pennies, :allow_nil => true, :with_model_currency => :edition_currency
monetize :total_fee_pennies, :allow_nil => true, :with_model_currency => :edition_currency

但是我试图找到一种更简洁的方法,而不是使用with_model_currency 3次,所以我开始直接覆盖currency方法:

def currency # previously currency_for_price?
  unless new_record?
    Money::Currency.find(edition_currency)
  end
end

但发现我在新记录上遇到问题...使用构建方法设置了edition_id,但由于某些原因这不起作用,我得到的错误是版本没有设置,所以我使用了{{ 1}}似乎可以修复它的方法。

我的问题是,这是否是我应该采取的方式,或者是否有更直接的方法(除了制作专栏)。

谢谢,

0 个答案:

没有答案