- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不想阻止用户使用“后退”按钮,但如果他们这样做,我想将他们重定向到根网址,这样我就不会收到重复的条目。
到目前为止我所尝试的方法均无效。我在 before_action 中尝试过:
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "0"
我尝试在我的 View 中放置一个隐藏的随机字符串:
<%= hidden_field_tag :token, "#{SecureRandom.hex}" %>
...使用此 Controller 操作:
def create
token = params[:token]
session[:tokens] ||= []
if session[:tokens].include? token
redirect_to root_path, notice: "That page is no longer viewable."
else
if @trade_wizard.trade.save
session[:tokens] << token
redirect_to root_path, notice: "Success."
else
redirect_to({ action: Wizard::Trade::STEPS.first }, alert: 'There was a problem.')
end
end
end
上述代码中的token
被添加到session[:tokens]
,但当我回击时,重定向不会发生。为什么?此外,这是一个坏主意吗?我预计 session 数组很快就会填满。
最佳答案
在 Rails 代码中处理此问题可能不起作用,因为页面只能在用户返回时从浏览器缓存加载。 (可能全部取决于用户浏览器设置,这些设置可能会覆盖标题。)
而不是通过尝试阻止重新提交操作来尝试停止创建重复记录。您能否向模型添加一些唯一性验证,以检查此时记录是否已保存,如果保存,则返回验证错误?
您甚至可以检查 Controller 中的验证错误对象,如果存在用于唯一性验证的对象,则执行重定向而不是重新呈现表单的标准。
关于javascript - 如何防止用户在 Rails 浏览器中点击 'back' 后重复提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49248455/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!