在Orders的索引操作中,我让用户更改用户每页看到的10个订单之一的状态。
当用户点击按钮时,POST请求完成并转到OrdersController#process
。完成后我会执行redirect_to:back,这样用户就可以看到他在点击按钮之前看到的完全相同的页面(我有分页)。
问题是除非我刷新,否则显示的状态不会更新。我在我的OrdersController
:
before_action :set_cache_buster
def set_cache_buster
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
但没有运气,我仍然会看到旧状态消息,除非我刷新页面。
我错过了什么?
答案 0 :(得分:1)
redirect_to(:back)
会让你回到历史中。
所以,你必须刷新页面或只是使用ajax更改状态。或者使用localStorage浏览器,这样您就不必提出ajax请求。从本地存储中读取数据并更改页面上的状态。