我有一个继承自Invoice
的班级ActiveRecord::Base
。 Invoice
有一个名为tax
的属性。我想要做的是,从属性to_s
的{{1}}方法返回格式化字符串,该方法看起来像tax
。
现在,如何覆盖实例属性的19,00 %
方法?
我知道,我可以在启用to_s
和I18n的视图中执行此操作,但我希望功能处于中心位置。哪个是属性的number_with_precision
方法。
这是完成此行为的正确方法还是有其他方法可以完成此操作?
答案 0 :(得分:2)
您无法覆盖to_s
属性方法。您可以做的是在您的发票模型中创建一个名为formatted_tax
的方法,如下所示:
class Invoice < ActiveRecord::Base
def formatted_tax
# do your formatting on self.tax here
end
end