I have a simple validation:
class Product < ActiveRecord::Base
# include ActionView::Helpers::NumberHelper
...
validates_numericality_of :price, :less_than => 1000000,
:message => "must be less than #{number_with_delimiter(1000000)}"
...
end
On this code, I have received the following error:
undefined method `number_with_delimiter' for #<Class:0x2665a58>
I tried to add:
include ActionView::Helpers::NumberHelper
but it didn't help.
What am I missing?
The true problem here is that you're including this module into the class, rather than extended the class with it.
The differences is an include will make the methods available on the instance, where as the extend will make them where you're trying to use them: on the class.
Instead of extending ActionView
module. You can use methods from ActiveSupport
instead
For example:
ActiveSupport::NumberHelper::number_to_currency(10000.1234,{precision: 2,unit: ''})
You should use extend:
Usage: extend ActionView::Helpers::NumberHelper
It is good for me
You might be missing the dependency... is the NumberHelper class accessible to your application?
Check the official Rails docs