我試圖返回使用number_to_currency
的總和,但每當我試圖用這個方法rake任務或模型類的實例中,我得到NoMethodError: undefined method 'number_to_currency' for main:Object
在耙任務和模型方法未定義的方法錯誤
偏偏控制檯太。關於爲什麼我不能在耙子任務或模型中使用基本方法的任何建議?
我試圖返回使用number_to_currency
的總和,但每當我試圖用這個方法rake任務或模型類的實例中,我得到NoMethodError: undefined method 'number_to_currency' for main:Object
在耙任務和模型方法未定義的方法錯誤
偏偏控制檯太。關於爲什麼我不能在耙子任務或模型中使用基本方法的任何建議?
number_to_currency
是一個視圖助手,所以它通常只在視圖中可用。你可以這樣做:
include ActionView::Helpers::NumberHelper
如果你需要在別的地方使用它,想想你的設計,不過,使用視圖助手,而在控制檯中搞亂是好的,但你通常想把你的格式化到邊緣(即視圖)。
下面是它如何工作的:
使文件夾鋼軌ROOT/lib目錄/ core_extensions 在那裏,創建一個名爲fixenum_extensions.rb 文件複製/粘貼下面的代碼到該文件。 在你的environment.rb文件中,把這個行:
RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
這行:
require "#{RAILS_ROOT}/lib/core_extensions/fixnum_extensions"
,並重新啓動應用程序
###
require 'rubygems'
require 'action_view'
class Fixnum
def to_currency(options = {})
ActionView::Base.new.number_to_currency(self, options)
end
end
###