将路由迁移到Rails 4

时间:2014-04-24 09:47:21

标签: ruby-on-rails ruby-on-rails-4 routes

我即将将rails 3应用程序迁移到rails 4。

我的资源上有一些额外的路线会产生一些问题。 我在路由文件中收到了这行代码的错误消息:

resources :teams do
...   
   get 'apply' => 'teams#apply_membership', as: :apply_membership
   post 'apply' => 'teams#apply_membership_save', as: :apply_membership
...

这是生成的错误消息

You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: 
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

在rails3中,可以使用相同的别名定义get和post路由,并将它们路由到不同的控制方法。

我也可以在rails4中这样做吗? 如果是的话,它在我的路线文件中看起来怎么样?

1 个答案:

答案 0 :(得分:1)

您不能使用同名的两个路线名称。但你已经做到了。所以请改变,

get 'apply' => 'teams#apply_membership', as: :apply_membership
post 'apply' => 'teams#apply_membership_save', as: :update_membership

看看这里的铁路路线。 http://guides.rubyonrails.org/routing.html