无法在Rails 5.0中的ApplicationHelper方法中使用“number_with_precision”

万事须己运,他得非我贤。这篇文章主要讲述无法在Rails 5.0中的ApplicationHelper方法中使用“number_with_precision”相关的知识,希望能为你提供帮助。
我在Rails视图中使用“number_with_precision”方法,它在那里工作正常,例如:
在Rails视图中:(工作正常)

< %= number_with_precision(job.company.rating, :precision => 2) %>

但是当我尝试在ApplicationHelper的方法中执行相同操作时,它会给我以下错误:
未定义的方法`number_with_precision'rails
这是我尝试过的:
在Rails ApplicationHelper中:(给出错误)
module ApplicationHelperdef employer_overall_rating(overall_rating) @overall_rating = number_with_precision(overall_rating, :precision => 2) endend

如何在ApplicationHelper中使用相同的功能?
答案include ActionView::Helpers::NumberHelper在你的application_helper.rb中
另一答案如果您不想使用数字助手来混淆命名空间,那么这样做的一种方法是通过ActionController::Base.helpers调用帮助程序。
def employer_overall_rating(overall_rating) @overall_rating = ActionController::Base.helpers.number_with_precision(overall_rating, :precision => 2) end

当然,这将简化为:
def helpers ActionController::Base.helpers end

然后你可以做helpers.number_with_precision
另一种方式是包括ActionView::Helpers::NumberHelper
另一答案【无法在Rails 5.0中的ApplicationHelper方法中使用“number_with_precision”】试试以下
module ApplicationHelper include ActionView::Helpers::NumberHelper def employer_overall_rating(overall_rating) @overall_rating = number_with_precision(overall_rating, :precision => 2) end end


    推荐阅读