我希望像" 42/100"一样打印一个数字。这种格式应通过我将在两个不同模型中使用的函数来完成。我应该在哪里添加该方法?
好的,根据有限的描述,这是我建议的:
formatting_helper.rb
module FormattingHelper
MAXIMUM_VALUE = 100.freeze # Change it here.
def self.divide_by_maximum_value(str)
"#{str}/#{MAXIMUM_VALUE}"
end
end
然后您可以从任何地方调用FormattingHelper.divide_by_maximum_value
。例如
FormattingHelper.divide_by_maximum_value('42')
=> "42/100"
如果要创建一个数字到百分比,则可以使用Ruby的Ruby on Rails官方指南的助手
number_to_percentage(42)
# => 42.000%
除了这些指南外,您应该像Jagdeep Singth一样创建模块。或创建lambda
num_formatter = ->(x,y='100') { x.to_s+"/#{y.to_s}" }
num_formatter.call(42)
# => "42/100"
num_formatter.call(42,1000)
# => "42/1000"