2016-08-17 58 views
0

我有这样的路线:变迁中的“秀”和“编辑”资源

resources :resource1 

我想添加一个参数的URL“编辑”和“秀”,只为“编辑”和“显示”。假设我想为网址添加一个日期,所以对于“show”它看起来像“resource1/2016-05-12/123”。我怎样才能做到这一点?

回答

1

您可以排除从resources定义路线:

resources :resource1, except: [:edit, :show] 

然后写自定义这些路由:

get "/resource/:date/:id", to: "resource1#show" 
put "/resource/:date/:id", to: "resource1#edit" 
0
{ 
    resource1: '/resource1', 
    resource2: '/resource2' 
} 
.each do |c_name, path| 
    controller c_name, path: path do 
    scope path: ':id/:date' do 
     put action: :edit 
     get action: :show 
    end 
    end 
end