root/cart/56에서 root/cart로 내 경로를 변경하고 싶습니다."/ : id/model"에서 "/ model"로 경로 변경
Rails route to username instead of id의 논리를 적용하여 사용자의 ID를 경로의 사용자 이름으로 변경합니다. 이 작업은 사용자 이름을 고유로 설정할 수 있기 때문에 가능합니다.
나는/cart가 방문하는 사람 (사용자가 없음)이 단 하나의 카트로 가도록 유도하고 : cart/: id를 제거하려고합니다. 나는, NOT 사용자 모델을 사용 DO 그렇지 않으면 난 그냥 user.cart @ 할 것이다 (: 사용자/카트) 그래서 나는 (당연히 그렇게)
얻을이 오류
Invalid route name, already in use: 'cart'
이 줄
때문에match '/:carts/:id' => 'carts#show', :as =>'cart', :via => :get
관련 경로 :
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
UPDATE :
resource :cart, :only => :show # note 'resource' not 'resources'
으로 개선되었지만, 어떻게 든 이드에서 경로를 제거 할 수 있습니까?
http://localhost:3000/cart?id=52
입니다.
죄송합니다 - URL에 나에게 ID를 부여 선은
<li><%= link_to "Cart", cart_path(id: session[:cart_id]) %></li>
은 단일 자원 내가 필요한 것을 정말입니까? 이 세션에서 카트를 만들겠습니다.
<% if session[:cart_id] == nil %>
<li><%= link_to "Cart", new_cart_path %></li>
<% else %>
아직 카트를 만들지 않았 으면 페이지를 방문 할 때 만드는 카트입니다.
는 사실이 당신에게 당신이 호출 할 수있는 cart_path을 줄 것이다 사용
resource :cart, :only => :show # note 'resource' not 'resources'
파일 카트 당신의 경로에서 here
'레이크 루트'출력을 게시하십시오. – Pavan
당신은 단 하나의 자원을 사용해야하는 것처럼 들립니다. 'resources : cart'가 아닌'resource : cart' –
* ID 매개 변수가있는 URL은 무엇입니까? 장바구니 링크를 생성하는 코드는 무엇입니까? – colinm