私は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
:あなたはこれを行うことができます。ビューのヘルパーを使用して、コンソールで邪魔にならないようにデザインを2回考えてください。通常は、書式設定をエッジ(ビュー)にプッシュする必要があります。ここで
は、それがどのように動作するかです:
は コピーfixenum_extensions.rbという名前のファイルを作成/そのファイルに以下のコードを貼り付け、フォルダレールROOT/libに/ core_extensionsそこで してください。あなたの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
###
を再起動します