0

目前正在学习 Rails,所以要温柔。

在我走远之前,我想检查一下我是否做对了:

构建一个允许我们的“客户”登录并创建报价的应用程序。“供应商”(在这种情况下为会议场地所有者)然后可以查看报价,并用客户可以查看的建议回复他们。每个供应商帐户都可以选择拥有一个或多个属于它的“场地”(例如,如果他们经营一系列场地),并且提出的每个提案都来自特定场地。

其他我以后可能会遇到的复杂问题,就关系而言,这看起来正确吗?

PS我意识到下面的代码实际上并不是可以工作的,我只是像这样布置它,同时我试图理解它。

Customer (will be a type of user)
has_many :quotes
has_many :proposals, :through => :venue

Supplier (will be a type of user)
has_many :venues
has_many :proposals, :through => :venue

Venue
belongs_to :supplier 
has_many Proposals

Quote
belongs_to :customer

Proposal
belongs_to :venue

和基本表:

Customer
    id

Supplier
    id

Quote
    id
    customer_id

Venue
    id
    supplier_id

Proposal
    id
    venue_id

使用 has_ones 和 has_and_belongs_to_many 等可能有更好的方法,但我不知道。

谢谢

4

1 回答 1

0

好的,所以我认为它应该是这样的:

Customer
  has_many :quotes
  has_many :proposals

Supplier
  has_many :venues
  has_many :proposals, :through => :venues

Venue
  belongs_to :supplier 
  has_many :proposals

Quote
  belongs_to :customer

Proposal
  belongs_to :venue
  belongs_to :customer

在数据库模式中:

Customer
  id

Supplier
  id

Quote
  id
  customer_id

Venue
  id
  supplier_id

Proposal
  id
  venue_id
  customer_id
于 2013-06-23T11:25:01.933 回答