2013-04-10 52 views
0

我有一个名为User的模型。当我销毁用户并重定向到用户的索引页时,它会抛出异常 ActiveRecord::RecordNotFound: Couldn't find all Users with IDs (1, 200) (found 1 results, but was looking for 2) 但是,当我刷新页面时,页面正确加载并显示所有用户。我想这个问题是Tire::Model::Callbacks after_destroy需要一些时间来执行,如果我在该时间段内调用User.search_all,搜索结果包括被销毁的id。 我正在寻找一种干净的方法来解决这个问题。还是轮胎有任何选择来解决这个问题? 在此先感谢。轮胎弹性搜索:从模型中删除记录并立即重定向抛出错误

回答

2

在调用User.search_all之前向Elasticsearch发送刷新调用。 Elasticsearch refresh_interval的默认值为1秒,因此如果您从中删除并在一秒钟内完成搜索,则可能无法在将结果返回给您之前删除已删除的记录。