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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |