Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 在Rails 3中,为什么';用户是否与项目有很多关联?_Ruby On Rails_Ruby On Rails 3_Associations_Has Many - Fatal编程技术网

Ruby on rails 在Rails 3中,为什么';用户是否与项目有很多关联?

Ruby on rails 在Rails 3中,为什么';用户是否与项目有很多关联?,ruby-on-rails,ruby-on-rails-3,associations,has-many,Ruby On Rails,Ruby On Rails 3,Associations,Has Many,我一直在努力,有一点让我困惑 为什么用户没有声明与项目的多个关联?这个项目有很多票。用户和项目之间的关系与项目和票证之间的关系有什么不同 我会发布代码,但我认为这个问题只对阅读过本书(因此有代码可供参考)的人有意义。用户永远不需要有很多项目,因为向用户显示项目的方式是通过项目模型上的范围。如果您想拥有此关联,那么您需要在项目实例上具有用户id属性。用户永远不需要有很多项目,因为向用户显示项目的方式是通过项目模型上的范围。如果您希望有此关联,那么您需要在项目实例上有一个用户id属性。为什么用户需要

我一直在努力,有一点让我困惑

为什么用户没有声明与项目的多个关联?这个项目有很多票。用户和项目之间的关系与项目和票证之间的关系有什么不同


我会发布代码,但我认为这个问题只对阅读过本书(因此有代码可供参考)的人有意义。

用户永远不需要有很多项目,因为向用户显示项目的方式是通过
项目
模型上的范围。如果您想拥有此关联,那么您需要在
项目
实例上具有
用户id
属性。

用户永远不需要有很多项目,因为向用户显示项目的方式是通过
项目
模型上的范围。如果您希望有此关联,那么您需要在
项目
实例上有一个
用户id
属性。

为什么用户需要有许多项目?这意味着项目需要为其定义
user\u id
属性。我想理解的是为什么一个项目有很多票证,而用户没有很多项目。为什么用户需要有很多项目?这意味着项目需要为其定义
user\u id
属性。我想理解的是为什么一个项目有很多票证,而用户没有很多项目。谢谢回复。我想我了解这些关系背后的机制,但我想了解的是做出决定的原因。为什么选择使用范围向特定用户显示其项目,而使用关系将项目与其票证链接?为什么不在票证上使用作用域呢?我可以看出,使用作用域可以实现动态关联,但这比用户和项目之间有多个关系(允许用户有多个项目,项目有多个用户)更可取吗?我不理解这种关联的困扰。它提供了什么好处?为什么有这种联系是有用的?我对你的问题有什么不理解?我问这个问题是为了理解导致你选择在项目中使用范围而不是has\u和\u属于\u许多:用户上的项目的决策过程。当我们需要一个用户项目的列表时,为什么使用项目上的作用域而不是通过User.projects来完成更好呢。后者对我来说似乎更为清晰,因此我可以看出,一定有很好的理由选择范围。我只是想知道为什么在这种情况下范围比关联更可取。啊,现在我明白了。我们之所以这样做,是因为我们有先见之明,知道以后会有不同类型的权限。如果我们有这种类型的关联,那么读取权限就可以了,但是我们需要为其他权限设计一种单独的方式。我是这样做的,所以只有一种方法可以为每个对象和每个用户定义不同的权限。谢谢回复。我想我了解这些关系背后的机制,但我想了解的是做出决定的原因。为什么选择使用范围向特定用户显示其项目,而使用关系将项目与其票证链接?为什么不在票证上使用作用域呢?我可以看出,使用作用域可以实现动态关联,但这比用户和项目之间有多个关系(允许用户有多个项目,项目有多个用户)更可取吗?我不理解这种关联的困扰。它提供了什么好处?为什么有这种联系是有用的?我对你的问题有什么不理解?我问这个问题是为了理解导致你选择在项目中使用范围而不是has\u和\u属于\u许多:用户上的项目的决策过程。当我们需要一个用户项目的列表时,为什么使用项目上的作用域而不是通过User.projects来完成更好呢。后者对我来说似乎更为清晰,因此我可以看出,一定有很好的理由选择范围。我只是想知道为什么在这种情况下范围比关联更可取。啊,现在我明白了。我们之所以这样做,是因为我们有先见之明,知道以后会有不同类型的权限。如果我们有这种类型的关联,那么读取权限就可以了,但是我们需要为其他权限设计一种单独的方式。我是这样做的,所以只有一种方法可以为每个对象和每个用户定义不同的权限。