我有三个模型。1- 产品 2- 自行车 3- 汽车
这些模型具有多态关联。Product 模型包含 Bike 和 Car 的共同点:价格、颜色等。
现在我想直接通过像 Bike_obj.price 这样的 Car 或 Bike 的对象来访问 Products 的方法
def method_missing(meth, *args, &blk)
product.send(meth, *args, &blk)
rescue NoMethodError
super
end
现在我能够做到这一点
>> Car.last.price
=> 1000
但问题是 Car 模型的 SAVE 方法已停止工作。当我执行 Car.last.save 时,我不知道为什么它会出现在 method_missing 中。它引发了这个异常
NoMethodError: undefined method `<=>' for #<Car:0x7fcdd39ef2c0>