我有一个叫做destroy_order_payment_detail
的函数,我试图销毁一个依赖对象。它不起作用,那么这些语法中哪些是正确的?
has_one :order_payment_detail, inverse_of: :payment_order
accepts_nested_attributes_for :order_payment_detail, allow_destroy: true
before_destroy :destroy_order_payment_detail
private
def destroy_order_payment_detail
if :order_payment_detail.present?
:order_payment_detail.destroy
end
end
还是这个没有:
的
private
def destroy_order_payment_detail
if order_payment_detail.present?
order_payment_detail.destroy
end
end
2条答案
按热度按时间zpjtge221#
如果你想销毁依赖的order_payment_detail,有一个比写回调更好的方法,简单地像这样声明依赖:
不需要
before_destroy
回调tyu7yeag2#
当我试图销毁order_payment_detail时,ruby会寻找一个名为order_payment_detail. rb的模型,我发现了我的例子中的问题所在。但是模型的名称是payment_order_detail,所以我只需要重命名依赖项,现在它就像它应该做的那样销毁了。不好意思耽误你的时间了。