1

我在:

ruby-1.9.3-p194
Rails 3.0.9

我想在我的视图方法中使用带有数值数据类型的 percent_of 。

例如,<%= 10.persent_of(50) %>它等于20%

为此,我创建lib/numeric.rb了包含

class Numeric
  def percent_of(n)
    self.to_f / n.to_f * 100.0
  end
end

但我得到一个错误:

undefined method `percent_of' for 10:Fixnum

我试图添加定义require 'Numeric',但它没有帮助我。

请帮帮我。

4

2 回答 2

1

config.autoload_paths += %W(#{config.root}/lib)检查你的application.rb文件中是否有。您应该扩展 Fixnum 而不是 Numeric:

class Fixnum
  def percent_of(n)
    self.to_f / n.to_f * 100.0
  end
end

然后在 application_helper.rb 中要求或包含它,以便所有视图都可以使用它:

require 'numeric'或者include Numeric

于 2012-08-02T08:56:24.227 回答
1

试试require 'numeric'吧。您需要的是文件,而不是课程。

于 2012-08-02T08:47:21.113 回答