2016-10-05 19 views
3

我使用「number_with_precision」方法使用「number_with_precision」在ApplicationHelper的方法對Rails的Rails的視圖,它工作正常存在,例如:無法5.0

在Rails查看:(正常工作)

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

但是,當我嘗試做相同的ApplicationHelper的方法,那麼它給了我下面的錯誤: 未定義的方法`number_with_precision」軌

這裏是我曾嘗試:

在Rails ApplicationHelper:(提供錯誤)

module ApplicationHelper 

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

end 

請讓我知道我可以使用相同的ApplicationHelper。

謝謝。

+1

'包括ActionView :: Helpers :: NumberHelp呃在你的application_helper.rb? –

+0

嘗試'helper.number_with_precision(overall_rating,:precision => 2)' –

+0

@孫悟空如果您發表了此回覆,以便我能接受此內容,反正非常感謝:) –

回答

3

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

1

嘗試以下

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

爲什麼降低聲音,這也是正確的答案 –

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

相關問題