我正在为我的rails应用程序编写脚本,我正在尝试使用分隔符格式化数字,以便它们更容易阅读。但我从ActionView :: Helpers :: NumberHelpers
调用number_with_delimeter方法时遇到问题我试过
class MyClass < ActiveRecord::base
extend ActiveView::Helpers::NumberHelper
def self.run
puts "#{number_with_delimeter(1234567)}"
end
end
MyClass.run
但它不起作用。我总是得到未定义的方法错误。我尝试使用include而不是extend和其他一些变体。他们都没有工作。我不知道该怎么办。
有没有办法在脚本中调用此方法?
* 注意:* 我用rails r script/my_script.rb
答案 0 :(得分:4)
优雅的解决方案包括授权:
def self.run
puts "#{helper.number_with_delimiter(1234567)}"
end
def self.helper
Helper.instance
end
class Helper
include Singleton
include ActionView::Helpers::NumberHelper
end
旁注:
包括模块重载您的课程
包括帮助者没有帮助,因为你在班级工作。
格式化不应该是模型的工作,你应该在演示者中提取这种逻辑。