微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 使用Rails 3路由添加自定义:新路由

在Rails 2中,我们可以为资源丰富的路由添加自定义新操作,例如:
map.resources :users,:new => {:apply => :get}

我们如何在Rails 3中实现同样的功能

resources :users do

  get :apply,:on => :new    # does not work

  new do
    get :apply               # also does not work
  end

end

有任何想法吗?

解决方法

您可以在边缘路由指南中使用:path_names作为 explained
resources :users,:path_names => { :new => "apply" }

这只会改变应用的路径,它仍将被路由到新的动作.我认为不再明确支持改变(这可能是一件好事).

如果你想保留你的申请行动,你应该做:

resources :users,:except => :new do
  collection do
    get :apply
  end
end

但它让您想知道将apply操作重命名为new是否更好.

原文地址:https://www.jb51.cc/ruby/265405.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐