在Rails 3.2中,我正在使用以下路由声明:
get 'contact' => 'contact#new', :as => 'contact'
post 'contact' => 'contact#create', :as => 'contact'
它们产生如下结果 (rake routes
):
contact_en GET /en/contact(.:format) contact#new {:locale=>"en"}
contact_de GET /de/kontakt(.:format) contact#new {:locale=>"de"}
contact_en POST /en/contact(.:format) contact#create {:locale=>"en"}
contact_de POST /de/kontakt(.:format) contact#create {:locale=>"de"}
现在Rails 4.0报错:
无效的路由名称,已被使用:'contact'。您可能已经定义了两个使用
:as
选项相同名称的路由,或者您可能正在覆盖已由相同命名资源定义的路由。
显然,这些路由共享相同的名称,但由于请求类型不同,我希望像以前一样能够接受它们。
如何告诉Rails 4按照3.2的方式生成路由?
:as => nil
的方法。 - marcinowski