我想用逗号在我的 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
给定对象的方法吗?它如何评估要打印的内容?