无法在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”的主要内容,如果未能解决你的问题,请参考以下文章
Rails 不使用 application.html.erb