我在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