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