当我尝试将项目添加到购物车时,它可以正常工作,但没有人可以直接看到它,因为页面没有重新加载。我该如何解决?
这是我的order_item_controller:
class OrderItemsController < ApplicationController
def create
@order = current_order
@order_item = @order.order_items.new(order_item_params)
@order.save
session[:order_id] = @order.id
end
和我的观点/产品,使用form_for:
<%= form_for order_item, remote: true do |f| %>
<%= product.firstdescription %>
<p class="bonus1">-Durée du cours : <%= product.duration %> minutes</p>
<p class="bonus">-<%= product.info %>
<p class="bonus">-En préparation</br>
<div class="talent">
<%= f.hidden_field :quantity, value: 1, class: "form-control", min: 1, max: 1 %>
<%= f.hidden_field :product_id, value: product.id %>
<div class="on_precommand">
<p id="old_price">
<del><%= currency_euro product.old_price %></del>
</p>
<p><%= currency_euro product.price %></p></br>
<%= product.tournage %></br>
</div>
<%= f.submit "Pré-commander", class: "addtocart" %>
<% end %>
答案 0 :(得分:2)
您需要做的只是简单的重定向,在操作结束时添加此行
redirect_to @order
这将重定向到新订单的show动作。
编辑:
刚刚注意到您正在执行remote: true
请求,因此您需要创建一个js模板create.js.erb
,并添加您要执行的javascript以在视图中添加创建的顺序,这是一个例子:
$('#orders').append('<%= j( render @order ) %>')
这是假设订单div的标识为#orders