ruby-on-rails-3 – 如何解决这些冲突的Rails路由?
发布时间:2020-12-17 03:00:33 所属栏目:百科 来源:网络整理
导读:我的routes.rb中有一个条目,如下所示: resources :baskets,:shallow = true,:only = :show resource :owned,:only = [:create,:destroy]endget '/baskets/owned',:to = 'owners#index' 这会创建如下所示的路线: basket GET /baskets/:id(.:format)baskets_
我的routes.rb中有一个条目,如下所示:
resources :baskets,:shallow => true,:only => :show resource :owned,:only => [:create,:destroy] end get '/baskets/owned',:to => 'owners#index' 这会创建如下所示的路线: basket GET /baskets/:id(.:format) baskets_owned GET /baskets/owned(.:format) # ... 但现在,当我打电话/篮子/拥有时,我得到了这个: Started GET "/baskets/owned" for 10.0.1.2 at 2011-06-09 10:31:33 -0400 Processing by BasketsController#show as JSON Parameters: {"id"=>"owned"} 解决此路由冲突的最惯用方法是什么? 解决方法
Rails匹配从第一个定义开始并继续向下直到找到匹配的路由;使用第一个匹配的路由,忽略所有其他路由.
解决问题的方法是将get’/ baskets / owned’路由放在资源路由之前. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |