Javascript Ajax/Coffescript表单更新,无需重新加载页面
我在商品展示页面上有一张订单:Javascript Ajax/Coffescript表单更新,无需重新加载页面,javascript,jquery,ajax,ruby-on-rails-4,coffeescript,Javascript,Jquery,Ajax,Ruby On Rails 4,Coffeescript,我在商品展示页面上有一张订单: <%= 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.
<%= 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 %>
这是我订单控制器中的内容:
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
我怀疑我的错误在咖啡脚本中。我尝试添加returnfalse和prevent-default,但这不起作用。有人能帮忙吗?非常感谢。这里什么是不工作?我怀疑这意味着函数将继续重新加载页面,而不是就地重新加载。如果是这样的话,那可能是因为您在表单上调用了submit。提交表单时的默认行为是重新加载整个页面。您要做的是将表单中的数据序列化到ajax调用中,而不调用submit。是的,您是对的,如果我不清楚,请原谅。谢谢你的引导。
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