当我提交表单并向我的模型添加一些记录时。
我通过
重定向到以下URI format.html { render 'index' }
http://localhost:3000/cart/submit_order?utf8=%E2%9C%93&customer_id=654&book_ids[]=42147&book_ids[]=42148&commit=%E6%96%B0%E5%A2%9E%E8%A8%82%E5%96%AE
但是,如果我重新加载页面。
它会再次将数据提交给我的模型。
如何防止这种行为?
由于
答案 0 :(得分:1)
在控制器索引方法中,清除当前的params哈希值。这将有效地重置表单。
params是哈希值,因此您需要使用:params.delete :key
您没有向我们展示您正在捕获的表单值,因此您必须使用表单存储的任何键替换:key。
答案 1 :(得分:0)
问题是您是通过GET而不是POST发送表单数据,因此根据这些新信息,我建议改为重定向...
format.html { redirect_to { action: 'index' }, notice: 'your flash message here' }
可在此处找到更多信息:http://api.rubyonrails.org/classes/ActionController/Redirecting.html