Rails将方法应用于模型中的所有整数

时间:2013-03-25 11:36:30

标签: ruby-on-rails ruby-on-rails-3.2

我想将所有整数与视图中调用的1,25相乘。

有没有一种聪明的方法来做到这一点,而无需创建一个辅助方法并将其应用于视图中的所有整数?

示例:

class Product < ActiveRecord::Base
  attr_protected :id
    #pesudo code
    def integer
    this * 1.25
    end

end

最好是可以在控制器中进行..

1 个答案:

答案 0 :(得分:1)

例如,如果您的Product模型具有value属性,只需编写一个类方法,然后就可以在任何地方和该类型的任何对象中调用它。

class Product < ActiveRecord::Base
  value_with_weight weight
    value*weight
  end
end

然后使用@product.value_with_weight(1.25)例如,无论你想要什么..

编辑:您实际上要求的声音就像您想要在特定模型的范围内覆盖Integer类,这是实现这一目标的一种非常可怕的方式。但是,听起来有点像{2.0}在Ruby 2.0中的意思