我正在使用sitemap_generator gem来构建xml站点地图。从自述文件:
...运行rake sitemap:根据需要刷新以创建/重建站点地图文件
我希望在我的内容控制器中运行create
操作时执行此操作。做这样的事情有最好的做法吗?
答案 0 :(得分:4)
有可能,是的。但我不推荐它。 Rake任务往往需要至少几秒钟才能运行,这将占用服务器请求并延长对客户端的响应。
如果您想在每次创建后刷新站点地图,那么我会推荐两种解决方案中的一种。分析rake任务sitemap:refresh的作用,并直接从控制器中使用代码。但是我只会这样做,只要它不需要太多时间来运行,因为我对sitemap_generator了解不多,我无法分辨。
另一种选择是从delayed_job运行rake任务,我发现它是首选替代方案。这样,您可以通过创建操作触发作业,但不必等待它完成。