我们什么时候需要创建一个新的控制器?

时间:2013-02-26 01:21:18

标签: ruby-on-rails ruby-on-rails-3.2

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

class MySampleController < ApplicationController

respond_to :json

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

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

resources :my_sample, only: [:show]

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

我正在编写这些服务的网页,其上有几个导航链接,如标签,所以现在如果他们点击一个VicePresident链接我们应该调用一个新的GET REST服务并返回一整套新的数据给他们。

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

这样的URI中获取新的JSON

2 个答案:

答案 0 :(得分:1)

这里有一些很好的阅读材料。 http://guides.rubyonrails.org/routing.html

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

答案 1 :(得分:1)

您可以自行设计自己喜欢的网址,并查看可以组合在一起的任何模式(比如很多人的个人资料页面都会有相同的结构json文件)。

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

您的副总裁页面听起来像是一个人力资源,这意味着您将来可能会为CEO等添加另一页。因此,拥有一个人员控制器会很自然。这样可以在将来重复使用。