what i did was
1. add format.js in carts controller destroy method
2. add remote: true on empty button
3. create destroy.js.erb in views/carts with
$('#cart').html("<%=j render @cart %>.hide('blind', 1000);
it works fine but seems not following given hint…
Does the cart appear when you access the page at first?
Does the cart appear after you empty the cart and reload the page?