Ruby on rails 出于某种原因,Rails嵌套的新视图正在路由以显示?

Ruby on rails 出于某种原因,Rails嵌套的新视图正在路由以显示?,ruby-on-rails,routing,Ruby On Rails,Routing,运行Rails 3.2.1,我有以下路线: resources :photos, :path_names => { :new => 'upload' } do resources :votes end 出于某种原因,如果我浏览到照片/1/投票/new我会 ActiveRecord::RecordNotFound in VotesController#show Couldn't find Vote with id=new 为什么Rails要将投票/新建路由到show actio

运行Rails 3.2.1,我有以下路线:

resources :photos, :path_names => { :new => 'upload' } do
  resources :votes
end
出于某种原因,如果我浏览到
照片/1/投票/new
我会

ActiveRecord::RecordNotFound in VotesController#show
Couldn't find Vote with id=new
为什么Rails要将投票/新建路由到show action?以前有人遇到过这个问题吗?

Facepalm

我没有意识到
:path\u names
选项也适用于嵌套资源——投票模型在
投票/上传
处寻找新操作,而不是
投票/新建

我改变了路线如下,一切都很好:

resources :photos do
  collection do
    get 'upload' => 'photos#new'
  end
  resources :votes
end