如何在脚本中使用ActionView :: Helpers :: NumberHelpers“number_with_delimeter”

时间:2013-04-04 09:22:50

标签: ruby-on-rails view-helpers

我正在为我的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

调用脚本

1 个答案:

答案 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

旁注:

  • 包括模块重载您的课程

  • 包括帮助者没有帮助,因为你在班级工作。

  • 格式化不应该是模型的工作,你应该在演示者中提取这种逻辑。