2011-03-27 100 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