2012-06-28 56 views
0

首先,我对可怜的标题表示歉意 - 我试图想出一个更好的方法来解释它,但是不能想到一个。通过关联和自身获得资源的正确方法

基本上,作为一个例子(注意型号名称只是一个例子,我知道任务的实际概念被关联到很多项目并没有什么太大的意义):

  • 项目模型
  • 任务模型

  • 每个任务可以被分配给许多项目

我希望能够在查看项目的任务: /项目/ 1 /任务

或查看所有项目的所有任务在:/任务

但有两个控制器,这似乎并不很干并不像Rails的方式。有没有更好的办法?

+0

为什么会需要两个控制器? – phoet

+0

你有机会尝试我的答案吗?它有帮助吗? –

回答

0

你要找的基本上是两条路线到相同的资源。

resources :tasks 
resources :projects 
match projects/:id/tasks => 'tasks#index' 

在你TasksController#指数,检查PARAMS [:ID]

def index 
    if params[:id] 
     @tasks = Project.find(params[:id]).tasks 
    else 
     @tasks = Tasks.all 
    end 
    respond_with(@tasks) 
end 
相关问题