我有点难以想出正确的答案,所以我会在这里请求我的问题。我正在研究一个RESTFul API。当然,我拥有多种资源,其中一些由父母与子女的关系组成,其中一些是独立的资源。我遇到困难的一点是如何让那些将建立客户端以对抗我的API的人变得更容易。Ruby on Rails URL(RESTful API)中的资源映射
情况是这样的。假设我有一个'街道'资源。每条街道都有多个房屋。 So Street:has_many到家和家园:belongs_to Street。如果用户想要请求对特定资源的家一个HTTP GET,下面应该工作:
http://mymap/streets/5/homes/10
,它允许用户以获取一个家庭信息与ID 10直线前进。我的问题是,我是通过向用户访问打破了本书的规则:
http://mymap/homes/10
技术上的那家资源自身存在的不街道。它使得感觉它存在作为它自己的实体没有封装街道,即使业务逻辑说,否则。
处理这个问题的最佳方法是什么?
编辑!本着成为一名优秀的StackOverflow公民的精神,我回来了一个支持的代码块,以了解如何在上面实现它们。
map.resources :streets,
:has_many => :homes
:shallow => true
这将创建两种类型的路线,我一直在寻找。
这个浅的选项很有趣。 – tadman 2010-04-11 05:53:49