1

假设您有一个完全在另一个资源的视图中创建和显示的资源(例如评论或标签)。您是否仍应将其设为自己的资源,还是将其设为嵌套资源会更好?另外,你应该使用虚拟属性吗?

我知道这个问题很笼统,但我不是在寻找具体的答案,只是对何时首选每种技术的一般解释。

4

2 回答 2

1

一般来说,将其设为嵌套资源会更有用。这是更“RESTful”的方式。它还将使您无需将其指定为参数即可访问父资源。但是,您不希望资源嵌套深度超过一层,如Rails 路由指南中所述。

于 2011-04-03T05:08:55.090 回答
1

一些一般的想法:

  • 嵌套和独立的资源不一定是相互排斥的。
  • “完全在另一个资源的视图中创建和显示”是一个强有力的声明,最终可能不是真的。例如,标签:您是否想要所有带有特定标签的文章的列表。嵌套是没有意义的。
  • 在第二层或第三层以下嵌套将开始比它的价值更麻烦。有人会说,即使是第一次嵌套也比它的价值更麻烦。
  • 对于具有单一主导资源的应用程序,添加其他独立资源的成本成比例地更高。小型应用程序可以摆脱大型应用程序无法解决的复杂性。
  • 如果您感觉不好,请以每种方式编写一些资源。答案充其量只是证明观点的合理性,最好通过经验来发展你自己的观点。
于 2011-04-03T05:21:31.207 回答