0

自分の協会でやりたいことを成し遂げられるかどうかはわかりません。

これは、私のアプリケーションで必要なシナリオです。

ユーザーはストアを選択します。次に、そのストア内でユーザーが商品を選択し、その商品に新しい価格を追加できます。

class Business < ActiveRecord::Base
  has_many :stores
end

class Store < ActiveRecord::Base
  belongs_to :business
  has_many :prices
end 

class User < ActiveRecord::Base
  has_many :prices, :dependent => :destroy
  has_many :products, :through => :prices
end

class Price < ActiveRecord::Base
  belongs_to :user
  belongs_to :product
  belongs_to :store
end

class Product < ActiveRecord::Base
  has_many :prices
  has_many :users, :through => :prices
end

integer store_id商品は(表の)店舗に属していないため、これが正しいかどうかはわかりません。

このシナリオをうまく機能させるには何をする必要がありますか?これは正しいデザインですか?

4

1 に答える 1

1

これは、あなたがやろうとしていることに対して適切で正しい設計です。

商品が店舗に属している場合、商品は1つの店舗にしか存在できません。店舗には多くの商品があり、商品は多くの店舗で販売されている可能性があるため、商品と店舗の両方を参照する別のテーブルが必要です。

于 2012-05-10T16:46:32.133 に答える