【发布时间】:2016-11-30 16:41:22
【问题描述】:
我正在尝试找出完成一段关系的最佳方式,但遇到了一些麻烦。我遇到了几篇文章,这些文章在一定程度上解决了我想要做的事情,但不完全是。
我有一个用户模型和一个门票模型。两者都是通过 UserTickets 模型加入的,因此我可以将多个用户分配给一张票。我想做的是将分配给票证的用户划分为请求者和代理。如果用户是请求者或代理,Users 模型没有任何列要声明,而是我有 is_admin、is_customer 等。我认为我需要的是 Ruby On Rails - many to many between the same table 但不完全是。
理想情况下,我希望我的门票表采用 agent_id(来自 User 类的 user_id)和 requester_id(来自 User 类的 user_id),而不是一般的 user_id(来自 User 类的 user_id,它将所有用户组合成一个组)。我认为仍然允许我调用 @current_user.tickets 来提取分配给该用户的所有票证。
这是我的用户模型:
has_many :user_tickets
has_many :support_tickets, through: :user_tickets
这是我的门票模型:
has_many :user_tickets
has_many :users, through: :user_tickets
这是我的 UserTickets 加入模型:
belongs_to :user
belongs_to :support_ticket
非常感谢您的帮助!
这不是重复的。
【问题讨论】:
标签: ruby-on-rails activerecord associations rails-activerecord relationship