Ruby 活动记录关系
Ruby Active Record Relational
我还是新手,逻辑还是不太对。
目前,我有:
- 用户有很多产品。
- 产品有 1 个用户具有价格属性。
我正在尝试添加:
- 用户可以对其他用户销售的产品提供 1 个价格。用户可以提供多个产品的价格。
- 一个产品可以有多个用户提供的价格。
我目前有:
class User < ActiveRecord::Base
has_many :products
has_many :offered_prices
end
class Product < ActiveRecord::Base
belongs_to :user
has_many :offered_prices
end
这就是我到目前为止所做的。它似乎仍然不太正确,因为我同时很困惑。非常感激您的帮忙! :)
定义三个模型:
User | OfferedPrice | Product
它们之间的关联将是:
class User < ActiveRecord::Base
has_many :products
has_many :offered_prices, through: :products
end
class OfferedPrice < ActiveRecord::Base
belongs_to :user
belongs_to :product
# To make sure a user can offer price once for against a product
validates_uniqueness_of :price, scope: [:user, :product]
end
class Product < ActiveRecord::Base
has_many :offered_prices
has_many :user, through: :offered_prices
end
我还是新手,逻辑还是不太对。
目前,我有:
- 用户有很多产品。
- 产品有 1 个用户具有价格属性。
我正在尝试添加:
- 用户可以对其他用户销售的产品提供 1 个价格。用户可以提供多个产品的价格。
- 一个产品可以有多个用户提供的价格。
我目前有:
class User < ActiveRecord::Base
has_many :products
has_many :offered_prices
end
class Product < ActiveRecord::Base
belongs_to :user
has_many :offered_prices
end
这就是我到目前为止所做的。它似乎仍然不太正确,因为我同时很困惑。非常感激您的帮忙! :)
定义三个模型:
User | OfferedPrice | Product
它们之间的关联将是:
class User < ActiveRecord::Base
has_many :products
has_many :offered_prices, through: :products
end
class OfferedPrice < ActiveRecord::Base
belongs_to :user
belongs_to :product
# To make sure a user can offer price once for against a product
validates_uniqueness_of :price, scope: [:user, :product]
end
class Product < ActiveRecord::Base
has_many :offered_prices
has_many :user, through: :offered_prices
end