【问题标题】:rails / resources routes / adding a custom parameter to edit pathrails / resources routes / 添加自定义参数以编辑路径
【发布时间】:2013-08-11 11:39:33
【问题描述】:

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

从模型“事件”开始,如果标签不同,我需要剪切表单,并且对于每个标签,都有一个特定的 url,例如:

/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

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

假设它可能不是正确的选择,但在此先感谢您对此的任何回答

【问题讨论】:

  • member 表示您将获得类似/events/:id/:tab_name 的路线。运行 rake routes 以查看您的路线是什么样的。
  • 并且,edit 是默认成员;它不能像这样扩展 (/events/:id/edit/:tab_name) ?

标签: ruby-on-rails resources routes


【解决方案1】:

您可以尝试以下方法:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多