我有一个附在“部分”的“修订”上的评论表。如果不存在修订,则创建一个空修订。添加评论表单是用 ajax 加载的。问题是,如果在不刷新页面的情况下添加了多个评论,则会创建几个空修订。这在某些极端情况下会造成严重破坏。
每次点击添加评论按钮时,我都会请求一个带有 ajax 的新添加评论表单。但是,Rails 认为没有新信息,并且未修改服务 304。有新信息 - 第二个请求的评论表单应该有一个填充的“owner_id”,它是第一个评论创建的空修订的 id。
我很肯定 owner_id 人口的作用是刷新整个页面可以解决问题。我曾经认为这是一个服务器缓存问题,但查看请求的参数,owner_id 丢失,直到页面刷新。
更新:我将 expire_now() 添加到评论控制器的新操作中,它现在提供 200 响应,但内容仍然没有 owner_id。
另一个更新:查看控制台,请求的参数不包括 owner_id。刷新页面然后请求表单突然在参数中包含 owner_id。