2011-11-15 50 views
2

有很多具有共同的自定義操作的資源,即:進出口:Rails3中 - 提取路線共同行動

resources :users do 
    collection do 
     post "import" 
     get "export" 
    end 
    end 
    resources :companies do 
    collection do 
     post "import" 
     get "export" 
    end 
    end 

有沒有一種方法來提取重複的代碼和重用呢? 在以前的Rails我認爲這可能與一些來實現這樣的:

imp_exp_collection = {:import => :post, :export => :get} 
    resources :users, :collection => imp_exp_collection 
    resources :companies, :collection => imp_exp_collection 

回答

7

,你可以在你的路由文件中定義的方法,可以調用它們就像

def imp_exp_collection 
    collection do 
    post "import" 
    get "export" 
    end 
end 

,並以此爲遵循

resources :users do 
    imp_exp_collection 
    end 
+0

我知道它應該是簡單的:)如果我想把路由定義放在某些lib中怎麼辦? – bmihelac