【问题标题】:Best way to remove all associations has_and_belongs_to_many without deleting the records在不删除记录的情况下删除所有关联 has_and_belongs_to_many 的最佳方法
【发布时间】:2016-01-14 16:37:07
【问题描述】:

我有一个 user 模型 has_and_belongs_to_many :clubs 所以我可以看到例如clubs.users 并返回该俱乐部的所有用户。我想要做的是删除/破坏该俱乐部所有用户的关联。我希望用户仍然存在,但不再与该俱乐部相关联。

我知道例如club.users.delete_all 但最终也删除了用户。我想不出另一种方法来删除所有记录。

值得注意的是,我知道您可以做到 club.users.delete(user) 我不确定如何将与该俱乐部关联的所有用户传递给该方法。任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord


    【解决方案1】:

    将俱乐部用户设置为空数组将破坏关系而不损害任何实体!

    【讨论】:

    • 如果他们属于多个俱乐部,问题就会出现。我不想抹去他们所有的球杆。更多的是从俱乐部的角度来看,所以我可以尝试 clubs.users = []
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多