我正在动态生成发票PDF,并使用我的模型来计算总计。例如:
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 :(得分: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