【发布时间】:2012-10-25 02:55:16
【问题描述】:
我想在我的 rails 应用程序中用逗号打印数字。根据答案here,我可以用
包装我打印的每个数字number_with_delimiter(@number, :delimiter => ',')
但是,我不想进入我的视图并手动应用它。我宁愿重写整数的打印方式。
在 java/jsp 中,<%= %> 标记内的任何内容都会获得 toString() 调用以评估页面上打印的内容,所以我认为覆盖 Integer 类的 to_s 方法可以:
class Integer
def to_s
number_with_delimiter(self, :delimiter => ',')
end
end
不幸的是,这不起作用,因为使用<%=%> 标签打印的数字不会以逗号出现。 (不会引发错误。)
我怎样才能做到这一点? <%=%> 块不会自动调用给定对象上的 to_s 方法吗?它如何评估要打印的内容?
【问题讨论】:
标签: ruby-on-rails erb