【问题标题】:Relationship model between users, companies and introductions用户、公司和介绍之间的关系模型
【发布时间】:2018-07-15 10:42:32
【问题描述】:

为新手问题道歉,但我完全被这个问题难住了。

我有两个模型,用户和公司,我正在尝试在它们之间建立“request_introduction”关系。

一个用户可以向多个公司发送一个 intro_request,而一个公司可以从多个用户发送一个 intro_request。

提前致谢。

【问题讨论】:

  • “一个用户可以向多家公司提出一个 intro_request” -- 嗯?您是说 一个 请求是针对 许多 公司的吗?听起来更有可能一个用户应该有许多 intro_requests,其中每个都是针对一家公司的。要么这样,要么他们只能对一家公司提出一项要求。
  • 我个人认为在纸上快速勾勒出关系以将其可视化很有帮助。
  • @TomLord,对不起,是的,我的意思是一个用户可以有很多 intro_requests,每个公司一个

标签: ruby-on-rails ruby activerecord ruby-on-rails-5 rails-activerecord


【解决方案1】:

布赖恩, 听起来您想在“用户”和“公司”之间建立多对多关系。您可以通过创建 :through 关联来设置它。

应该是这样的:

class User < ApplicationRecord
  has_many :introductions
  has_many :customers, through: :introductions
end

class Customer < ApplicationRecord
  belongs_to :users
  belongs_to :customers
end

class Introduction < ApplicationRecord
  has_many :users
  has_many :customers, through: :users
end

这是 rails 指南的链接:(第 2.4 节)http://guides.rubyonrails.org/association_basics.html

【讨论】:

  • 谢谢!多年来一直坚持这一点。我发现我最大的问题是在 Google 中正确表达问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多