@cline에 속한 @line_items가 있습니다. 페이지를 새로 고치지 않고 장바구니를 비우고 싶습니다. 나는AJAX on Rails가 작동하지 않습니다.
<%= button_to 'Empty cart' , cart, :remote => true, :method => :delete,
:confirm => 'Are you sure?' %>
이
$('#cart').html("<%= escape_javascript(render(@cart)) %>");
작품 만 상쾌한 후 carts_controller
def destroy
@cart = current_cart
@cart.line_items.destroy
session[:cart_id] = nil
respond_to do |format|
format.html { redirect_to(store_url, :notice => 'Your cart is currently empty') }
format.js
format.xml { head :ok }
end
end
및 destroy.js.erb의 방법을 파괴 카트 템플릿에 button_to을 설정합니다. 나는 버튼이 눌려 졌을 때, 카트가 비어 있다고 가정하기 때문에, 레일이 @cart를 렌더링 할 때 비어있는 것으로 보여야합니다. 어쩌면 뭔가 잘못 됐어?
브라우저에서 개발자 툴바를 사용하여 AJAX op를 점검 했습니까? 해당 매개 변수가 OK인지, POST 작업인지, HTTP 코드 200을 반환하는지, XML (예 : XML)의 결과가 올바른지 확인하십시오. – halfer
'format.html ...'줄 위에'format.js'를 추가해야합니다. – mccannf
실제로 코드 내에서 format.js가 있습니다. 죄송합니다. line_items 컨트롤러를 통해 할 때 버전을 게시했습니다. –