如果我有以下类(class)
class Discount < ApplicationRecord
belongs_to :coupon, polymorphic: true, optional: true
end
并且有一种情况,我想在将优惠券类别保留为零的情况下创建折扣,如何为调用类似行的客户类别提供值
@discount.coupon.code
无需在调用前添加检查?我希望能够根据 Discount 类中的参数指定 @discount.coupton.code
等调用返回的默认值。
有没有一种简单的方法可以在 Rails 中做到这一点?
最佳答案
应该能够覆盖 getter。像这样的事情...
class Discount < ApplicationRecord
belongs_to :coupon, polymorphic: true, optional: true
def coupon
unless some_condition
self[:coupon]
else
OpenStruct.new(code: 'a_non_coupon_discount')
end
end
end
关于ruby-on-rails - 如何为 Ruby on Rails 中的可选多态关系的调用提供虚拟值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62940633/