【问题标题】:How can I unjoin a join table relationship in rails/console?如何取消加入 rails/console 中的连接表关系?
【发布时间】:2011-04-15 22:14:05
【问题描述】:

我的用户拥有并属于许多对象。

所以如果我输入:

User.find(2).objects

一系列对象将返回。

如何清除此用户与这些对象的关系,但不删除这些对象。

【问题讨论】:

    标签: ruby-on-rails ruby join


    【解决方案1】:

    我所知道的就是像这样从两边打这个:

    首先是这个:

    @a = User.find(2)
    @a.clear
    @a.save
    

    然后这个:

    Object.all.each{|a| a.users.delete(User.find(2)) if a.users.include?(User.find(2))}
    

    【讨论】:

      【解决方案2】:

      将关系设置为空数组。

      User.find(2).tap do |u|
        u.objects = []
        u.save!
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多