Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我想让我的用户添加他们的;产品“;记下他们有多少人_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 我想让我的用户添加他们的;产品“;记下他们有多少人

Ruby on rails 我想让我的用户添加他们的;产品“;记下他们有多少人,ruby-on-rails,ruby,Ruby On Rails,Ruby,嗨,我有一个用户模型,我也有一些他们的信息字段(姓名,电子邮件,简历等) 我希望能够让用户将他们拥有的产品添加到他们的帐户信息中 这将只是产品的名称(仅文本),但我还希望能够统计它们的总体数量,以便我可以显示如下内容: 用户有10种产品(产品1、产品2等) 我不知道该怎么做。提前感谢。用自己的表格制作产品模型 那么里面的用户做有很多:产品 然后您可以执行@user.products.count下一步是:这如何允许不同用户购买给定的产品,例如唯一的UPC 毕竟,像“大凸耳螺母”这样的产品可以被不同

嗨,我有一个用户模型,我也有一些他们的信息字段(姓名,电子邮件,简历等)

我希望能够让用户将他们拥有的产品添加到他们的帐户信息中

这将只是产品的名称(仅文本),但我还希望能够统计它们的总体数量,以便我可以显示如下内容:

用户有10种产品(产品1、产品2等)


我不知道该怎么做。提前感谢。

用自己的表格制作产品模型

那么里面的用户做
有很多:产品


然后您可以执行
@user.products.count

下一步是:这如何允许不同用户购买给定的产品,例如唯一的UPC

毕竟,像“大凸耳螺母”这样的产品可以被不同的人买到

因此,您可能需要的是一个purchases表,它基本上是一个连接表,具有用户id和产品id

你可以做
user.purchases.count

这通常是通过以下关系实现的:

User has_many :purchases
User has_many :products, :though => :purchases

Purchase belongs_to :user
Purchase belongs_to :product

Product has_many :purchases
Product has_many :users, :through => :purchases
严格地说,它也可以通过HABTM来实现(has_和_属于_many!),但这在很大程度上已经失宠了。它只允许两个字段,并且是数据库中不存在的虚拟表。
HABTM已经不再受欢迎,因为只要你想添加一个额外的属性(在现实世界中非常常见),你就需要切换到has_many:在一个完全开发的应用程序中,通过has_many可能会让你头疼