ActionView::Helpers::NumberHelper
个方法喜欢nubmer_with_precision
个precision
选项,默认值为3
。
我想将默认值3
设置为2
。
我应该在哪里编写覆盖方法? 以及如何仅覆盖默认值的方法?
答案 0 :(得分:2)
您可以在初始化程序中修补此方法。创建一个,或将以下内容附加到config/initializers
中的初始值设定项。
require 'action_view'
module ActionView::Helpers::NumberHelper
alias_method :__number_with_precision, :number_with_precision
private :__number_with_precision
def number_with_precision(number, options = {})
options = {precision: 2}.merge(options)
__number_with_precision(number, options)
end
end
答案 1 :(得分:1)
您可以创建自己的类来编写另一种方法:
class Foo
extend ActionView::Helpers::NumberHelper
def self.my_custom_number_with_precision(number, precision = 2)
number_with_precision(number, precision: precision)
end
end
Foo.my_custom_number_with_precision(22) #=> "22.00"
Foo.my_custom_number_with_precision(121.41256) #=> "121.41"