人类根据他们的慈善程度支付一定的费用。
class Human < ActiveRecord::Base
def fee
if charitable
fee = BigDecimal('0.2')
else
fee = BigDecimal('0.5')
end
fee
end
end
但是为什么当我在控制台上为Bob收取费用时,我得到Fixnum
:
> bob.charitable
=> false # Ahh, so he should pay a fifty percent fee
> bob.fee
=> 0 # Whaaat? The dastardly bob has somehow H@X0R the system
> bob.fee.class
=> Fixnum # What? This was supposed to be a BigDecimal
该死的鲍勃。
帮助我击败鲍勃。
答案 0 :(得分:1)
当您对模型进行更改时,重新启动控制台而不是reload!
。
是的,我知道,我很蠢。但是,嘿,将来其他人可能会这么愚蠢。我会把它放在这里。