【发布时间】:2021-01-15 13:53:16
【问题描述】:
我有一个包含物品的购物车,在结帐页面中,这些物品可以是评论并且它们的数量可以更改。我想添加一个按钮,单击该按钮将刷新呈现购物车的部分,从而更新总数等。 我已经创建了按钮,它改变了它应该的 innerHtml(当我用 ("test") 而不是 测试它时,但是它不会更新购物车(重新加载部分)。 这是我的代码
路线
get 'refresh_cart', to: 'carts#refresh'
控制器
def refresh
@cart = Cart.find_by(user_id: current_user.id)
respond_to do |format|
format.js {}
end
end
html
<div class="container-fluid cart-submit" id="cart-item-partial">
<%= render 'cartItems' %>
</div>
刷新.js.erb
cart_items = document.getElementById("cart-item-partial")
cart_items.innerHTML = <%= j render 'cartItems'%>
【问题讨论】:
-
另外,当我单击“刷新”按钮时,我接到了对服务器的呼叫。 ``` 在 2021 年 1 月 15 日 11:00:23 -0300 为 ::1 发送 GET "/refresh_cart" 由 CartsController#refresh as JS 处理 .... ↳ app/helpers/products_helper.rb:22:in ` quantity_helper' 渲染的购物车/_cartSubtotal.html.erb(持续时间:0.1ms | 分配:30)渲染的购物车/_cartItems.html.erb(持续时间:32.7ms | 分配:10441)渲染的购物车/refresh.js.erb(持续时间:34.3 ms | Allocations: 11239) Completed 200 OK in 42ms (Views: 33.8ms | ActiveRecord: 3.3ms | Allocations: 1) ``` 但是页面没有改变
标签: javascript html ruby-on-rails