覆盖特定实例属性的方法

时间:2012-05-10 15:06:02

标签: ruby ruby-on-rails-3 activerecord

我有一个继承自Invoice的班级ActiveRecord::BaseInvoice有一个名为tax的属性。我想要做的是,从属性to_s的{​​{1}}方法返回格式化字符串,该方法看起来像tax

现在,如何覆盖实例属性的19,00 %方法?

我知道,我可以在启用to_s和I18n的视图中执行此操作,但我希望功能处于中心位置。哪个是属性的number_with_precision方法。

这是完成此行为的正确方法还是有其他方法可以完成此操作?

1 个答案:

答案 0 :(得分:2)

您无法覆盖to_s属性方法。您可以做的是在您的发票模型中创建一个名为formatted_tax的方法,如下所示:

class Invoice < ActiveRecord::Base
  def formatted_tax
    # do your formatting on self.tax here
  end
end