【发布时间】:2020-09-09 13:14:48
【问题描述】:
在单一资源的情况下,数据库表中是否只有一条记录?还是特定用户的单个记录?
如果我没记错的话,这意味着一个用户在数据库表中只有一条记录,但在资源的情况下,一个用户在表中有很多记录。还是别的什么?
如果我是正确的,那么在资源的情况下如何访问记录,因为资源不包含任何id?
【问题讨论】:
-
routes.rb中的Resource和Resources与数据库中的记录数无关。 (你从哪里得到这个想法的?)单数和复数形式与自动生成的路线有关。 -
如果没有与数据库的链接,那为什么大多数开发者更喜欢资源呢?
-
@HassamSaeed 虽然我可以肯定在某种程度上这是一个偏好问题,但使用复数版本的 REST 资源通常表明这些东西不止 1 个,这意味着“索引”路线将返回一个集合。以用户资源为例。当您访问“/users”时,假设会有多个用户是合乎逻辑的,您将获得用户的集合;当您访问“users/1”时,您正在识别您想要检索的单一资源。这是 REST 实现的关键。 Read More
-
@engineersmnky 这意味着该资源没有到数据库的链接。它只是一个类似于配置文件的概念,我们可以在其中访问表中的特定用户数据并将其显示在配置文件路由的视图中?我是 ri8 吗?
-
@jvillian 绝对不是。 “资源”根本不需要存储在数据库中。唯一适用的是基于 REST 的服务必须提供统一的接口,因此如果您有 Brand 资源和 Product 资源,通常认为将路由作为“/brands”和“/product”是不符合要求的缺乏统一性。
标签: ruby-on-rails rails-routing