加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用ActiveRecord将一个表中的两列指向另

发布时间:2020-12-16 22:23:31 所属栏目:百科 来源:网络整理
导读:我冒着手掌到前额的风险,但我无法弄清楚如何使用Rails的ActiveRecord糖来做到这一点. 我有一个具有两列(submissionter_id和assignee_id)的票证表,每列应该从users表(特别是users表中的id列)引用不同的用户.我希望能够使用ActiveRecord的关联来执行ticket.sub
我冒着手掌到前额的风险,但我无法弄清楚如何使用Rails的ActiveRecord糖来做到这一点.

我有一个具有两列(submissionter_id和assignee_id)的票证表,每列应该从users表(特别是users表中的id列)引用不同的用户.我希望能够使用ActiveRecord的关联来执行ticket.submitter.name和ticket.assignee.email之类的操作.提交者和受让人只是不同关联名称下的用户对象.

我发现的唯一与我正在做的事情接近的是使用多态关联,但最后我很确定它并不是我真正需要的东西.我不会有多种类型,提交者和受让人都是用户,很可能是两个不同的用户.

任何帮助都会很棒.谢谢!

解决方法

class Ticket < ActiveRecord::Base
  belongs_to :submitter,:class_name => "User"
  belongs_to :assignee,:class_name => "User"
end

应该管用.

编辑:没有尝试,我不确定你是否需要:foreign_key参数.我的直觉不是,但它不会受到伤害.

再次编辑:抱歉,离开了用户 – >票务协会.你没有提到使用它们,如果我不打算在另一个方向上使用它们,我通常只会在一个方向上添加关联.

无论如何,尝试:

class User < ActiveRecord::Base
  has_many :assigned_tickets,:class_name => "Ticket",:foreign_key => "assignee_id"
  has_many :submitted_tickets,:foreign_key => "submitter_id"
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读