Ruby on rails Rails与自定义字段的关联
我迷失在Rails提供的所有关联选项中 我有一个供Ruby on rails Rails与自定义字段的关联,ruby-on-rails,ruby-on-rails-3,associations,Ruby On Rails,Ruby On Rails 3,Associations,我迷失在Rails提供的所有关联选项中 我有一个供用户使用的表。那些用户拥有产品。这仅仅是一种有很多:产品的关系 但是,我想向用户提供一个产品列表。他们会选择一系列的产品,并为其定价 所以基本上,我有 USER 1 -----> PRODUCT 1 ------> PRICE 1 <----. -----> PRODUCT 2 ------> PRICE 2 | USER 2 -----> PRODUCT 1 ----
用户使用的表
。那些用户
拥有产品
。这仅仅是一种有很多:产品的关系
但是,我想向用户提供一个产品列表。他们会选择一系列的产品,并为其定价
所以基本上,我有
USER 1 -----> PRODUCT 1 ------> PRICE 1 <----.
-----> PRODUCT 2 ------> PRICE 2 |
USER 2 -----> PRODUCT 1 ------> PRICE 3 <----¨
-----> PRODUCT 3 ------> PRICE 4
USER 1----->PRODUCT 1------>PRICE 1 PRODUCT 2------>PRICE 2|
用户2------->产品1------->价格3产品3------->价格4
我应该创建三个表:用户
、产品
和价格
如果用户想根据数量、需求等定制更多的产品,该怎么办。?那么我应该创建以下表格吗:User
、Product
和ProductDetail
这样一来,用户
拥有多个:产品
,而产品
拥有多个:产品细节
Rails是如何做到这一点的
我对所有的
有很多
,有一个
,有很多:通过
,等等感到迷茫。我将创建以下内容:
class User
has_many :purchases
end
class Product
has_many :purchases
end
class Purchase
belongs_to :user
belongs_to :product
# mongoid syntax, if using ActiveRecord, use a migration
field :quantity, type: Integer, default: 0
field :price, type: Float, default: 0.0
end
user = User.new
apple = Product.new
tea = Product.new
chocolate = Product.new
user.purchases.build(product: apple, price: 2.99, quantity: 1)
user.purchases.build(product: tea, price: 5.99, quantity: 2)
user.purchases.build(product: chocolate, price: 3.99, quantity: 3)
仅供参考:
用户
、产品
和购买
之间的这种关系类似于拥有且属于许多
。当使用has\u和\u belient\u to \u many
时,rails只需像上面那样链接这些类。在这里,我们自己做,以便使用数量和价格定制购买类,我将创建以下内容:
class User
has_many :purchases
end
class Product
has_many :purchases
end
class Purchase
belongs_to :user
belongs_to :product
# mongoid syntax, if using ActiveRecord, use a migration
field :quantity, type: Integer, default: 0
field :price, type: Float, default: 0.0
end
user = User.new
apple = Product.new
tea = Product.new
chocolate = Product.new
user.purchases.build(product: apple, price: 2.99, quantity: 1)
user.purchases.build(product: tea, price: 5.99, quantity: 2)
user.purchases.build(product: chocolate, price: 3.99, quantity: 3)
仅供参考:用户
、产品
和购买
之间的这种关系类似于拥有且属于许多
。当使用has\u和\u belient\u to \u many
时,rails只需像上面那样链接这些类。在这里,我们自己做这件事是为了用数量和价格定制购买
类,谢谢您的详细回答。很容易实施。很高兴它帮助了你,请考虑接受这个答案。享受Rails带来的乐趣。感谢您提供的详细答案。很容易实施。很高兴它帮助了你,请考虑接受这个答案。享受Rails带来的乐趣。