Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails—POST请求数等于GET请求数_Ruby On Rails_Post_Model View Controller_Get_Shopping Cart - Fatal编程技术网

Ruby on rails Rails—POST请求数等于GET请求数

Ruby on rails Rails—POST请求数等于GET请求数,ruby-on-rails,post,model-view-controller,get,shopping-cart,Ruby On Rails,Post,Model View Controller,Get,Shopping Cart,我正在尝试实现这个购物车应用程序,但出于某种原因,POST请求的数量似乎等于过去GET请求的总和。这会导致一些恼人的行为! 我不明白为什么。。有人有主意吗 应用程序控制器: before_filter :current_delivery def current_delivery if session[:delivery_id] @delivery = Delivery.find(session[:delivery_id]) else @delivery =

我正在尝试实现这个购物车应用程序,但出于某种原因,POST请求的数量似乎等于过去GET请求的总和。这会导致一些恼人的行为! 我不明白为什么。。有人有主意吗

应用程序控制器:

 before_filter :current_delivery
 def current_delivery
   if session[:delivery_id]
      @delivery = Delivery.find(session[:delivery_id])
   else
      @delivery = Delivery.create
      session[:delivery_id] = @delivery.id
   end      
 end
def create
 @delivery.order_items.new(order_item_params)
 @delivery.save
end
def index
  @products = Product.all
  @order_item = OrderItem.new
end
OrderItemsController:

 before_filter :current_delivery
 def current_delivery
   if session[:delivery_id]
      @delivery = Delivery.find(session[:delivery_id])
   else
      @delivery = Delivery.create
      session[:delivery_id] = @delivery.id
   end      
 end
def create
 @delivery.order_items.new(order_item_params)
 @delivery.save
end
def index
  @products = Product.all
  @order_item = OrderItem.new
end
产品控制器:

 before_filter :current_delivery
 def current_delivery
   if session[:delivery_id]
      @delivery = Delivery.find(session[:delivery_id])
   else
      @delivery = Delivery.create
      session[:delivery_id] = @delivery.id
   end      
 end
def create
 @delivery.order_items.new(order_item_params)
 @delivery.save
end
def index
  @products = Product.all
  @order_item = OrderItem.new
end
产品指数:

<% @products.each do |product| %>
  <%= render "product_row", product: product %>
<% end %>
=>部分产品行:

  <%= form_for @order_item, remote: true do |f| %>
    <%= f.number_field :quantity, value: 1, class: "form-control", min: 1 %>
    <%= f.hidden_field :product_id, value: product.id %>
    <%= f.submit "Add to Cart", class: "btn btn-primary" %>
   <% end %>

问题到底是什么?问题是发送了太多的POST请求。例如,当我按Add to Cart时,产品添加次数过多。。