我在商品展示页面上有一个订单:
<%= form_for(Order.new, remote: true) do |f| %>
<%= f.number_field :quantity_requested, value: 0, max: @item.quantity, min: 1, class: "item-quantity form-control" %>
<%= f.hidden_field :item_id, value: @item.id %>
<% end %>
我必须重新加载页面才能在数据库中更新新数量。我希望它在数据库中更新而不必刷新页面。
这就是我的项目coffeescript:
$ ->
$('.item-quantity').click () ->
$(this).closest('form').submit();
$.ajax(url: item_url).done (html) ->
$('.item-quantity').append html
这就是我在订单管理员中所拥有的:
def create
@order = Order.find_or_initialize_by(user_id: current_user.id, item_id: params[:order][:item_id])
@order.update_attribute(:quantity_requested, params[:order][:quantity_requested])
@order.save
respond_to do |format|
format.html { redirect_to :back }
format.js { redirect_to :back }
end
end
我怀疑我的错误是在coffeescript中。我尝试过添加返回false并阻止默认但这不起作用。有人可以帮忙吗?非常感谢。