我在这个网站和其他网站上找到了一堆帖子,这些帖子给了我我需要的东西,但我无法将它们拼凑在一起。
对于搜索,我使用thinking sphinx gem 在我的网站上运行sphinx。每次用户向网站添加新帖子时,我都需要重新索引。我已经在我的网站上运行了delayed_job,所以我想做的是每次添加新帖子时,我想使用delayed_job 异步重新索引。我想我需要使用 handle_asynchronously 命令并在我的模型中调用一个方法,该方法将运行 rake 任务以重新索引..但是我读到的某处说 rake 不应该从代码中运行。
归根结底,完全糊涂了。有人可以建议如何去做吗?
我可以完全离开,但这就是我的想法..
# in post.rb
def reindex_database
# run rake task
end
# in posts_controller.rb
def add_post
# add_post logic
handle_asynchronously Post.reindex_database
end