Ruby on Rails两个模型之间的多个关联

时间:2014-06-20 14:15:19

标签: ruby-on-rails associations

这是我的问题:

我有一个模特用户。用户可能是管理员。 用户可以将错误报告发送到报告池,并且可以将此报告分配给管理员

如果知道管理员是用户,您如何链接这两个模型(用户/报告)?

我想要一个report.sender和report.admin,但我找不到怎么做。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以像这样定义关系:

class Report < ActiveRecord::Base
  belongs_to :reporter, foreign_key: reporter_id, class_name: 'User'
  belongs_to :admin,    foreign_key: admin_id,    class_name: 'User'

并使用它们:

report.admin # => returns a User object
report.reporter # => also returns a User object