新手问题,对我很轻松:)
我一直在努力根据RESTful模型协调设计系统实体的概念,并实际组织我的网站流程,使其成为逻辑,对我和客户都有意义。让我举个例子:
让我们假设我正在实施一个在现实生活中分享电影的网站。你有一个电影模型,你有一个用户模型(抛出一些auth / authz)。我认为将电影视为REST资源并让用户浏览它们是非常简单的,然后你可以拥有一系列代表所有权,借用和借出的关系(联合表)。到目前为止一切都很好。
现在,任何站点都会有一个用户仪表板的概念,您可以在其中查看用户的当前完整状态以及与他相关的信息。仪表板在某种程度上也是REST资源吗?我想它不可能是因为它对每个用户来说都非常具体。我在哪里放置它?我是否只是创建一个名为UserDashboard的控制器,并可能将根(mysite.com/userdashboard)路由到UserDashboard控制器的默认操作,例如,给定用户ID,显示系统中所有该用户的关系? / p>
那是Rails的方式吗?我是否以某种方式打破了RESTful范式?
谢谢!
答案 0 :(得分:1)
你可以用两种方式:
您可以创建一个代表用户仪表板的实体,并在该实体中存储单独的数据,也可以在代表仪表板的控制器上创建一个操作。两者都符合REST标准,因为您可以通过转至/ Dashboards(db_id)或转至/ users / 4 / Dashboard(标识唯一实体的URI)来唯一标识仪表板。