Rails在直接访问时生成新图像

时间:2016-12-06 22:28:03

标签: ruby-on-rails imagemagick

无法确定最好的说法,但基本上我想拥有一个像这样的直接链接的图片:

mysite.com/whatever/image.png

图像是某个事件的倒计时(作为图像完成,因此可以嵌入到更严格的系统中)。从MySQL数据库中提取事件的时间,然后使用Imagemagick生成图像。

我是否可以使用rails来执行在访问该URL时生成图像的调用,因此PNG始终是最新的?或者我最好设置一个计划任务来每隔x分钟生成一个同名的新PNG?感谢。

1 个答案:

答案 0 :(得分:0)

您的应用程序在提供自定义映像时没有问题(请记住,在Web上,内容类型由Content-Type标头确定,而不是文件名,尽管通常最简单的方法是保持两者同步);但是,由于通过ImageMagick生成图像会占用大量服务器资源,因此您可能希望缓存图像,或者 - 如您所建议的那样 - 定期生成图像。

要从控制器提供图像,请参阅send_data文档。