我想用逗号在我的 rails 应用程序中打印数字。根据这里的答案,我可以包装我打印的每一个数字
number_with_delimiter(@number, :delimiter => ',')
但是,我不想进入我的视图并手动应用它。我宁愿覆盖整数的打印方式。
在 java/jsp 中,<%= %> 标签内的任何内容都会被toString()调用以评估页面上打印的内容,因此我认为覆盖该类的to_s方法Integer可以:
class Integer
def to_s
number_with_delimiter(self, :delimiter => ',')
end
end
不幸的是,这不起作用,因为使用<%=%>标签打印的数字不会以逗号出现。(不会引发错误。)
我怎样才能做到这一点?<%=%>块不会自动调用to_s给定对象的方法吗?它如何评估要打印的内容?