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

问题描述 投票:3回答:3

我在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中使用相同的功能?

ruby-on-rails ruby helper ruby-on-rails-5
3个回答
5
投票

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


3
投票

如果您不想使用数字助手来混淆命名空间,那么这样做的一种方法是通过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


1
投票

试试以下

module ApplicationHelper
include ActionView::Helpers::NumberHelper
    def employer_overall_rating(overall_rating)
      @overall_rating = number_with_precision(overall_rating, :precision => 2)
    end
end
© www.soinside.com 2019 - 2024. All rights reserved.