我即将将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中这样做吗? 如果是的话,它在我的路线文件中看起来怎么样?
答案 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