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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在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 ApplicationHelper

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

end

如何在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

另一答案

试试以下

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

以上是关于无法在Rails 5.0中的ApplicationHelper方法中使用“number_with_precision”的主要内容,如果未能解决你的问题,请参考以下文章

SVG 到 PDF 在 Rails 5.0 中无法正常工作

Rails 6:我无法安装顺风

CSS中的Rails预编译错误

Rails 不使用 application.html.erb

Rails 5.0 到 5.1 - 一对多关联上的“Cant cast Hash”

开发中的 rails 3.1 资产管道 css 缓存