我冒着手掌到前额的风险,但我无法弄清楚如何使用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