更改资源的“显示”和“编辑”

时间:2016-08-17 03:24:58

标签: ruby-on-rails ruby

我在路线中有这个:

resources :resource1

我想在网址中为“编辑”和“显示”添加一个参数,仅用于“编辑”和“显示”。说,我想在网址上添加一个日期,因此对于“show”来说它看起来像“resource1 / 2016-05-12 / 123”。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

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

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

然后为这些路线编写自定义定义:

get "/resource/:date/:id", to: "resource1#show"
put "/resource/:date/:id", to: "resource1#edit"

答案 1 :(得分: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