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

Not able to use "number_with_precision" in ApplicationHelper's method in Rails 5.0

我在 Rails 视图中使用 "number_with_precision" 方法,它在那里工作正常,例如:

在 Rails 视图中:(工作正常)

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

但是,当我尝试在 ApplicationHelper 的方法中执行相同操作时,出现以下错误:

undefined method `number_with_precision' rails

这是我尝试过的:

在RailsApplicationHelper:(报错)

module ApplicationHelper

  def employer_overall_rating(overall_rating)
      @overall_rating = number_with_precision(overall_rating, :precision => 2)
  end

end

如何在 ApplicationHelper 中使用它?

尝试关注

module ApplicationHelper
include ActionView::Helpers::NumberHelper
    def employer_overall_rating(overall_rating)
      @overall_rating = number_with_precision(overall_rating, :precision => 2)
    end
end

如果您不想让命名空间与数字助手混淆,一种方法是通过 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

include ActionView::Helpers::NumberHelper 在你的 application_helper.rb