【问题标题】:Ruby on Rails: Has and belongs to many relationship: how do I destroy a relationship?Ruby on Rails:拥有并属于许多关系:我如何破坏关系?
【发布时间】:2010-07-06 20:12:01
【问题描述】:

这在代码中比在现实生活中要困难得多。 =)
但无论如何,
我的用户有管理员,反之亦然...

如何删除关系?

@selected_user = User.find(params[:id])
@selected_user.managers.delete_if{|x| x.standard_user_id == params[:id].to_i}

这是一个自引用,具有并且属于许多关系,所以我有另一个表,它只有两列外键,都指向用户表。此查找表没有模型。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:
        @report = User.find(params[:report])
        @manager = User.find(params[:manager])
        @manager.standard_users.delete(@report)
    

    经理有标准用户 标准用户有管理员

    【讨论】:

      【解决方案2】:

      这行不通吗? @selected_user.managers.each{|x| x.destroy!}Managers.delete_all "standard_user_id = params[:id]"

      【讨论】:

      • 我可能应该补充一点,它是一种自我参照,具有并且属于许多关系
      • 问题是,users 表中实际上没有名为 manager 或 standard_users 的列。
      • 事实证明,遇到这个问题我觉得很蹩脚,我调用了错误的方法。如果变量名不能正常工作,自我引用的事情会变得混乱
      猜你喜欢
      • 2015-11-01
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多