2011-03-27 96 views
2

我有2個資源eventspatientsRails 3的資源:使用嵌套資源共享自定義操作

resources :events do 
    collection do 
    get :upcoming 
    get :missed 
    end 
end 

resources :patients do 
    resources :events # does not have upcoming or missed 
end 

有沒有辦法有patients定義份額內的events嵌套的資源從主事件的自定義集合成員資源,而不必再次定義它們?

+0

好問題,我也一直在努力得到上面的工作,但沒有成功。導軌3指南沒有涉及嵌套自定義路線的細節。如果有人遇到了這個問題的解決方案,請在這裏包含鏈接。 – 2011-09-15 12:44:00

回答

1

您可以在您的路線文件中定義一個方法,並且每次都可以調用它,因此保持乾燥。

def events_actions 
    collection do 
    get :upcoming 
    get :missed 
    end 
end 

resources :events do 
    events_actions 
end 

resources :patients do 
    resources :events do 
    events_actions 
    end 
end 

甚至採取進一步的事情:

def resources_events 
    resources :events do  
    collection do 
     get :upcoming 
     get :missed 
    end 
    end 
end 

resources_events 

resources :patients do 
    resources_events 
end