3

我想将“cart/:id”链接到“cart”,这在输入 url 'store/cart' 时可以正常工作,但是当我使用链接时,它总是包含 id

= link_to 'view cart', cart_path(@cart)

结果是 url 'store/cart/1'

我的路线.rb

 scope 'store' do
     resources :carts, only: [:destroy]
     match 'cart', to: 'carts#show', via: :get
  end
4

1 回答 1

5

使用resource方法。

试试这个方法:

scope 'store' do
  resource :cart, only: [:show, :destroy]
end

这是API 文档

更新

另外,避免传递@cartcart_path. 控制器应该弄清楚如何在 url 中获取没有 id 的资源实例。

获取单一资源实例的常用方法是将数据库 ID 存储在会话中,或者如果您有一些用户身份验证框架 - 将其链接到当前用户(大多数框架最终会将用户 ID 放入会话中)。

于 2013-09-05T13:47:07.043 回答