Ruby on rails Ruby路由并不总是以相同的顺序进行

Ruby on rails Ruby路由并不总是以相同的顺序进行,ruby-on-rails,routes,Ruby On Rails,Routes,我的routes.rb文件中有这个: resources :carts do collection do post :review post :charge end end 有时,当用户转到/carts/review,而不是转到review操作时,它会尝试使用id的review转到show。在生产过程中,我已经三次遇到这个错误,并且多次成功地检查了购物车。对可能发生的事情有什么想法吗 这是运行在Ubuntu10.04和ruby 1.9.1上的Rails

我的
routes.rb文件中有这个:

resources :carts do
    collection do
      post :review
      post :charge
    end
end
有时,当用户转到
/carts/review
,而不是转到
review
操作时,它会尝试使用
id
review
转到
show
。在生产过程中,我已经三次遇到这个错误,并且多次成功地检查了购物车。对可能发生的事情有什么想法吗


这是运行在Ubuntu10.04和ruby 1.9.1上的Rails 3.2.1。

您的路线只接受
/carts/review的
POST
方法。
GET
/carts/review
将被解释为
/carts/:id,:id=>“review”
,因为没有专门针对
/carts/review
GET
路径