0

現在 Rails を学習中なので、お手柔らかに。

遠くに行く前に、これが正しいことを確認したい:

「顧客」がログインして見積もりを作成できるアプリを構築します。「サプライヤー」(この場合は会議場の所有者)は見積もりを見て、顧客が見ることができる提案で返信することができます。各サプライヤー アカウントには、それに属する 1 つ以上の「会場」を持つオプションがあり (たとえば、一連の会場を運営している場合)、作成された各提案は特定の会場からのものになります。

おそらく後で出くわす他の複雑な問題ですが、関係が進む限り、これは正しいように見えますか?

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

そしてdbスキーマで:

Customer
  id

Supplier
  id

Quote
  id
  customer_id

Venue
  id
  supplier_id

Proposal
  id
  venue_id
  customer_id
于 2013-06-23T11:25:01.933 に答える