0

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

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

例子:

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

end

如果可以在控制器中做到这一点最好..

4

1 回答 1

1

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

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

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

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

于 2013-03-25T11:47:28.167 回答