ruby-on-rails - 添加自定义 :new routes using Rails 3 routing

标签 ruby-on-rails routing ruby-on-rails-3

在 Rails 2 中,我们可以添加自定义 new对资源丰富的路线采取的行动,例如:

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_namesexplained在边缘路由指南中:

resources :users, :path_names => { :new => "apply" }

那只会将路径更改为 apply ,它仍然会被路由到 new行动。我认为不再明确支持更改(这可能是一件好事)。

如果您想保留您的 apply行动,你可能应该这样做:
resources :users, :except => :new do
  collection do
    get :apply
  end
end

但它让您想知道重命名 apply 是否更好。行动到 new .

关于ruby-on-rails - 添加自定义 :new routes using Rails 3 routing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3044531/

相关文章:

symfony - 路由 "admin/login"不存在错误 Symfony2 + SonataAdminBundle

ruby-on-rails - 将模型上的所有方法调用委托(delegate)给关联

ruby-on-rails - 如何准确地对加载模型所需的时间进行基准测试?

ruby-on-rails - 生产环境中的 Rails Webpacker 编译错误

ruby 中的 Mysql 连接查询有两个条件

scala - 如何使用参数化actor在akka中创建路由器?

ruby-on-rails - Ruby/Rails - 无法直接在 Controller 中访问 JSON 对象属性

android - android中的离线路由

json - 如何从 Ruby on Rails 解析 json 数据或(json 代码)

sql - 同一天创建的记录数