2012-06-28 54 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 
相關問題