3

「cart/:id」から「cart」へのリンクを設定したいのですが、「store/cart」という URL を入力すると問題なく動作しますが、リンクを使用すると常に 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ドキュメントがあります

アップデート

また、 に渡す@cartことは避けてくださいcart_path。コントローラーは、URL に ID が含まれていないリソース インスタンスを取得する方法を理解する必要があります。

単一のリソース インスタンスを取得する一般的な方法は、データベース ID をセッションに格納するか、ユーザー認証フレームワークがある場合は現在のユーザーにリンクすることです (ほとんどのフレームワークは最終的にユーザー ID をセッションに配置します)。

于 2013-09-05T13:47:07.043 に答える