rails / resources routes /添加自定义参数以编辑路径

时间:2013-08-11 11:39:34

标签: ruby-on-rails resources routes

这个问题与this one非常相似,但它没有帮助我获得我想要的东西

从模型“事件”开始,如果不同的标签和每个标签都有特定的网址,我需要剪切表格,例如:

/event/:id/edit/:tab_name

如果我将此路线添加为会员:

resources :events do
  member do
    get "/:tab_name", :to => "events#edit", as: :tab
  end
end

tab_name参数仍然是脏的/event/:id/edit?tab_name=mytab 使用tab_event_path(@event, :tab_name => "mytab")

但我喜欢干净的路线(或至少知道如何)

我设法通过以下方式做我想做的事:

resources :events, :except => [:edit] do
    collection do
        get "/:id/edit(/:tab)", :to => "events#edit", :as => :edit
    end
end

但据我所知,这条路线应该仍然是会员

假设它可能不是正确的选择模式,但提前感谢您对此问题的任何答案

1 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

resources :events, :except => [:edit] do
  member do
    get "edit/:tab_name", to: "events#edit", as: 'edit_tab'
  end
end