我的 Rails 应用程序中有一个页面,要求我在一个表单上具有多个提交按钮。为了让您了解我想要做什么,我有一个购物车,它是一张物品表。每个项目都有一个订购按钮和一个删除按钮。还有一个与每个项目关联的复选框,以便可以选择多个项目,然后通过我表格底部的按钮提交订单。
目前,这三个按钮中的每一个都具有与之关联的不同“名称”属性。在我的控制器中,我有类似于以下的代码:
if params[:remove]
#do stuff to remove item from shopping cart, then re-direct back to shopping cart
elsif params[:order_one]
#do stuff to order item, then render a confirm page
else
#do stuff to order multiple items, then render confirm page
end
但这对我来说似乎很乱。有没有更好的“railsy”方式来实现这一点?
另外,我目前没有在我的页面中使用任何 JS/Ajax,我希望最终让购物车成为通过 Ajax 呈现的 div。当用户单击删除按钮时,我希望远程提交表单,以便一旦将商品从购物车中删除,购物车 div 就可以通过 Ajax 重新呈现 - 这是否有可能拥有一个具有一个按钮通过ajax提交一些表单,一些没有ajax的表单?