Ruby on rails 嵌套事件上用户注释的资源

Ruby on rails 嵌套事件上用户注释的资源,ruby-on-rails,database,nested,nested-resources,Ruby On Rails,Database,Nested,Nested Resources,我正在尝试更好地使用Rails和嵌套资源。用户通过UserEvent联接表拥有许多事件(反之亦然)。我还希望用户对事件发表评论。到目前为止,事件嵌套在“我的资源”中的“用户”下。你对此有何评论?是否会嵌套在事件下,以便在用户下有两个连续嵌套的资源?这将如何工作?我认为这将是我建议的嵌套方法: resources :users resources :events do resources :comments end 在多对多关系中,将一个嵌套在另一个之下通常是没有意义的,因为两者都没有更强的

我正在尝试更好地使用Rails和嵌套资源。用户通过UserEvent联接表拥有许多事件(反之亦然)。我还希望用户对事件发表评论。到目前为止,事件嵌套在“我的资源”中的“用户”下。你对此有何评论?是否会嵌套在事件下,以便在用户下有两个连续嵌套的资源?这将如何工作?

我认为这将是我建议的嵌套方法:

resources :users
resources :events do
  resources :comments
end
在多对多关系中,将一个嵌套在另一个之下通常是没有意义的,因为两者都没有更强的包容关系

在您的场景中,一个用户不属于一个事件,而一个事件也不属于一个用户,因此让您的路由这样表示它并不能很好地模拟关系。您的URL看起来像
/events/1/users/2
。这意味着用户2只存在于事件1中

我认为您的
用户
事件
是顶级资源是有道理的<代码>注释,另一方面,确实有一些所有权,这对嵌套是有意义的。更有可能的是,
注释
将与上下文相关的
事件
相关联。
用户
仅仅是对其负责的人。将注释嵌套在用户下可以让您轻松地通过URL显示用户的所有注释,但我敢打赌,您更可能显示
事件的所有注释。考虑到这一点,我建议在
事件
下嵌套
注释


如果要在
注释
模型中删除用户并使
用户id
无效,这也是有意义的。你仍然可以有一个评论的URL。如果删除
事件
,注释可能不再有用,因此您可以简单地销毁它们。

我认为这是我建议的嵌套方法:

resources :users
resources :events do
  resources :comments
end
在多对多关系中,将一个嵌套在另一个之下通常是没有意义的,因为两者都没有更强的包容关系

在您的场景中,一个用户不属于一个事件,而一个事件也不属于一个用户,因此让您的路由这样表示它并不能很好地模拟关系。您的URL看起来像
/events/1/users/2
。这意味着用户2只存在于事件1中

我认为您的
用户
事件
是顶级资源是有道理的<代码>注释
,另一方面,确实有一些所有权,这对嵌套是有意义的。更有可能的是,
注释
将与上下文相关的
事件
相关联。
用户
仅仅是对其负责的人。将注释嵌套在用户下可以让您轻松地通过URL显示用户的所有注释,但我敢打赌,您更可能显示
事件的所有注释。考虑到这一点,我建议在
事件
下嵌套
注释


如果要在
注释
模型中删除用户并使
用户id
无效,这也是有意义的。你仍然可以有一个评论的URL。如果删除
事件
,注释可能不再有用,因此您可以简单地销毁它们。

我认为这是我建议的嵌套方法:

resources :users
resources :events do
  resources :comments
end
在多对多关系中,将一个嵌套在另一个之下通常是没有意义的,因为两者都没有更强的包容关系

在您的场景中,一个用户不属于一个事件,而一个事件也不属于一个用户,因此让您的路由这样表示它并不能很好地模拟关系。您的URL看起来像
/events/1/users/2
。这意味着用户2只存在于事件1中

我认为您的
用户
事件
是顶级资源是有道理的<代码>注释
,另一方面,确实有一些所有权,这对嵌套是有意义的。更有可能的是,
注释
将与上下文相关的
事件
相关联。
用户
仅仅是对其负责的人。将注释嵌套在用户下可以让您轻松地通过URL显示用户的所有注释,但我敢打赌,您更可能显示
事件的所有注释。考虑到这一点,我建议在
事件
下嵌套
注释


如果要在
注释
模型中删除用户并使
用户id
无效,这也是有意义的。你仍然可以有一个评论的URL。如果删除
事件
,注释可能不再有用,因此您可以简单地销毁它们。

我认为这是我建议的嵌套方法:

resources :users
resources :events do
  resources :comments
end
在多对多关系中,将一个嵌套在另一个之下通常是没有意义的,因为两者都没有更强的包容关系

在您的场景中,一个用户不属于一个事件,而一个事件也不属于一个用户,因此让您的路由这样表示它并不能很好地模拟关系。您的URL看起来像
/events/1/users/2
。这意味着用户2只存在于事件1中

我认为您的
用户
事件
是顶级资源是有道理的<代码>注释
,另一方面,确实有一些所有权,这对嵌套是有意义的。更有可能的是,
注释
将与上下文相关的
事件
相关联。
用户
仅仅是对其负责的人。将注释嵌套在用户下可以让您轻松地通过URL显示用户的所有注释,但我敢打赌,您更可能显示
事件的所有注释。考虑到这一点,我建议在
Ev下嵌套
Comments