Rails:为什么在我的模型中无法识别“number_with_delimiter”方法?
我有一个简单的validation:
class Product 1000000, :message => "must be less than #{number_with_delimiter(1000000)}" ... end
在此代码中,我收到以下错误:
undefined method `number_with_delimiter' for #
我试着添加:
include ActionView::Helpers::NumberHelper
但它没有帮助。
我错过了什么?
这里真正的问题是你将这个模块包含在类中,而不是用它扩展类。
不同之处是include会使方法在实例上可用,而extend将使它们成为你尝试使用它们的地方:在类上。
而不是扩展ActionView
模块。 您可以使用ActiveSupport
方法
例如:
ActiveSupport::NumberHelper::number_to_currency(10000.1234,{precision: 2,unit: ''})
你应该使用extend:
用法: extend ActionView::Helpers::NumberHelper
这对我有好处
您可能缺少依赖项…是您的应用程序可以访问的NumberHelper类吗?
查看官方Rails文档