gpt4 book ai didi

ruby-on-rails - 如何覆盖 "ActionView::Helpers::NumberHelper` 方法的默认选项

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:57 25 4
gpt4 key购买 nike

ActionView::Helpers::NumberHelper 方法喜欢 nubmer_with_precision 采用 precision 选项,它的默认值为 3.

我想将默认值 3 设置为 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

替代方法

像这样覆盖内部方法可能不是一个好主意,因为它可能会导致多个开发人员正在使用的代码库出现意外结果。更好的方法是通过 config/locales/en.yml 覆盖默认值,如 this answer 中所述。 .

关于ruby-on-rails - 如何覆盖 "ActionView::Helpers::NumberHelper` 方法的默认选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34377061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com