-1

目前,对于我的 GET REST 服务,我有一个控制器可以从我需要的六个表中获取 JSON。例如:

class MySampleController < ApplicationController

respond_to :json

def show
  @organization = Organization.includes([:ThoseSixTables])
  respond_with(@organization)
end

然后在我的路线中,我会有类似的东西:

resources :my_sample, only: [:show]

因此,当客户端在 url 中调用我的服务时,/my_sample/1.json 它会将 JSON 返回给它。

我正在为其编写这些服务的网页上有几个导航链接,比如选项卡,所以现在如果他们点击副总裁链接,我们应该调用一个新的 GET REST 服务并向他们返回一组全新的数据.

那么我需要为它创建一个新的控制器吗?或者我可以使用相同的控制器并在路由中添加嵌套资源?例如,能够从类似的 URI 中获取新的 JSON/my_sample/1/vpview

4

2 回答 2

1

设计自己喜欢的 url 并查看任何可以组合在一起的模式完全取决于您(就像很多人的个人资料页面将具有相同的结构 json 文件)。

对我来说,我猜你的应用程序只显示一个组织,而不是多个。这可能意味着它是一次性页面。我通常只是将这些一次性页面作为方法放在 abouts-controller 中。

您的副总裁页面听起来像是一个人员资源,这意味着您将来可能会为 CEO 等添加另一个页面。因此,拥有一个人员控制器感觉很自然。这允许未来的可重用性。

于 2013-02-26T02:22:06.317 回答
1

这里有一些不错的读物给你。http://guides.rubyonrails.org/routing.html

我会为每个资源制作一个新的控制器。还要小心嵌套你真的不想太深的资源。

于 2013-02-26T01:33:00.297 回答