加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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’路由放在资源路由之前.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读