目前,对于我的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
答案 0 :(得分:1)
这里有一些很好的阅读材料。 http://guides.rubyonrails.org/routing.html
我会为每个资源制作一个新的控制器。还要注意嵌套资源,你真的不想太深。
答案 1 :(得分:1)
您可以自行设计自己喜欢的网址,并查看可以组合在一起的任何模式(比如很多人的个人资料页面都会有相同的结构json文件)。
对我来说,我猜你的应用只显示一个组织,而不是多个组织。这可能意味着它是一次性页面。我通常只是将这些一次性页面作为方法放在abouts-controller中。
您的副总裁页面听起来像是一个人力资源,这意味着您将来可能会为CEO等添加另一页。因此,拥有一个人员控制器会很自然。这样可以在将来重复使用。