轨道3中的自动生成路径?

从一些railscast( 特别是这个 )的外观来看,似乎有一些“* _path”变量的自动生成并没有发生在我身上。 在这个rails cast中,edit_mutliple_products_path似乎是自动生成的(我通常不喜欢使用该单词)。 当我按照相同的步骤尝试访问类似的路径时,我得到这个:

undefined local variable or method `edit_multiple_distributions_workflows_path' for #<#:0x132af3290> 

这是rails 2.X. 在Rails 3中更改了Rails路由,以便将此路由添加到routes.rb下面:

 resources :products do collection do post 'edit_multiple' put 'update_multiple' end end 

您将能够访问此路径

 edit_multiple_products_url edit_multiple_products_path update_multiple_products_url update_multiple_products_path 

而不是edit_multiple_distributions_workflow_path 。 顺便问一下你从哪里得到这条路? 我没有在railscast中看到它。

在给定的教程中,它看起来像是来自较旧的Rails,这是生成路径方法的行:

 map.resources :products, :collection => { :edit_multiple => :post, :update_multiple => :put } 

在rails 3中,您可以在文档中看到它的用法: http : //guides.rubyonrails.org/routing.html#resource-routing-the-rails-default