首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将路由从"/:id/model“更改为"/model”

将路由从"/:id/model“更改为"/model”
EN

Stack Overflow用户
提问于 2014-06-18 14:11:28
回答 1查看 76关注 0票数 0

我想将我的路径从root/carts/56更改为root/cart。

我应用了这个问题Rails路由到用户名而不是id的逻辑,它将用户的id更改为路径中的用户名。这是因为用户名可以设置为unique。

我希望一个/cart引导(显然)到一个购物车,访问者(没有用户)正在使用并摆脱: cart /:id。我不使用使用用户模型,否则我只需要做@user.cart (: user /cart)

所以我(可以理解)得到了这个错误。

代码语言:javascript
复制
Invalid route name, already in use: 'cart' 

因为这条线

代码语言:javascript
复制
  match '/:carts/:id' => 'carts#show', :as =>'cart', :via => :get 

有关路线:

代码语言:javascript
复制
                carts GET    /carts(.:format)                     carts#index
                      POST   /carts(.:format)                     carts#create
             new_cart GET    /carts/new(.:format)                 carts#new
            edit_cart GET    /carts/:id/edit(.:format)            carts#edit
                 cart GET    /carts/:id(.:format)                 carts#show
                      PATCH  /carts/:id(.:format)                 carts#update
                      PUT    /carts/:id(.:format)                 carts#update
                      DELETE /carts/:id(.:format)                 carts#destroy

更新:

使用resource :cart, :only => :show # note 'resource' not 'resources',我得到了一个改进,但我能以某种方式将id从路径中删除吗?

代码语言:javascript
复制
http://localhost:3000/cart?id=52

就是它给我的东西。

对不起-给我URL中的id的行是

代码语言:javascript
复制
 <li><%= link_to "Cart", cart_path(id: session[:cart_id]) %></li>

一个独特的资源真的是我所需要的吗?在这样的会议中,我正在创建这些手推车

代码语言:javascript
复制
  <% if session[:cart_id] == nil %>
        <li><%= link_to "Cart", new_cart_path %></li>
  <% else %>

如果他们还没有创建一个购物车,他们会在访问页面时创建一个购物车。

实际上,我遵循了手推车这里的教程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-18 14:16:35

在您的路由文件中使用

代码语言:javascript
复制
resource :cart, :only => :show  # note 'resource' not 'resources'

这将给您一个可以调用的cart_path。它将击中carts_controller中的show方法。如果您需要/root/有几种方法来添加它。

将其置于routes.rb文件中声明的用户路径之上。

您可能需要进行一些验证,以确保用户不会选择保留的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24287864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档