2012-04-02 3 views
1

Я создаю счет-фактуру на лету и использую мою модель для расчета итогов. Например:Преобразование чисел в валюту внутри модели?

def cost 
    jobs.inject(0) do |sum, job|  
     sum + job.cost 
    end 
    end 

При генерировании моего счета, я хочу следующее в валюте:

pdf.text "Invoice Total: $#{number_to_currency(cost)}" 

Но когда я пытаюсь использовать помощник number_to_currency для того, чтобы отобразить вычисленные значения как валюты, я получаю ошибки , Любые советы о том, как и где это сделать? Благодарю.

+0

Можете ли вы опубликовать точную ошибку вы получаете? – Pete

+0

Пожалуйста ... дайте нам некоторые примеры значений, которые вы использовали, и сообщение об ошибке, иначе у нас нет способа воспроизвести и помочь вам. – danieltalsky

ответ

2

Если вы вызываете код из своей модели, вам нужно будет включить помощника, поскольку они не включены в ActiveRecord :: Base.

Таким образом, вы могли бы иметь что-то подобное в вашем коде модели:

has_many :jobs 

include ActionView::Helpers 

def cost 
    jobs.inject(0) do |sum, job|  
    sum + job.cost 
    end 
end 

def generate_pdf 
    ... 

pdf.text "Invoice Total: $#{number_to_currency(cost)}" 
end 
+0

классный, отлично сработал. Спасибо, я ценю это. – user464180

Смежные вопросы