ruby-on-rails - ActiveRecord - 如果没有 child 离开,则销毁 parent

标签 ruby-on-rails activerecord

<分区>

如果没有 child ,我如何销毁 parent ? 购物车有很多愿望,如果用户删除了所有愿望,我想销毁它。

谢谢

最佳答案

您可以确定 wish 的父级 cart 将在操作前被销毁(before_destroy)并检查父级 cartwish 被摧毁后有任何愿望。

class Cart < ApplicationRecord
    has_many :wishes
end

class Wish < ApplicationRecord
    belongs_to :cart

    before_destroy do
        @cart = self.cart
    end

    after_destroy do
        unless @cart.wishes.any?
            @cart.destroy
        end
    end
end

关于ruby-on-rails - ActiveRecord - 如果没有 child 离开,则销毁 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47884847/

相关文章:

ruby-on-rails - 销毁文件时查找Carrierwave中 'Stack level too deep'的原因

ruby-on-rails - Ruby on Rails2 : is there a way to minimize css and js when in production mode?

ruby-on-rails - Rails 4 : ActionView::MissingTemplate even though view is defined?

javascript - Bootstrap-Date 选择器日期字段未保存到 mysql 数据库

ruby-on-rails - Rails ActiveRecord 双重关联

ruby-on-rails - 自定义 google plus url 默认评论

sql - 在一次调用/查询中创建多个 Rails ActiveRecord 记录

ruby-on-rails - 多日期选择器的 Rails 数据设计

mysql - 加入 has_many :through attributes

sql - Rails 3 与 PostgreSQL : Problem with 'update_all' in joined table