我使用粗暴在我的应用中绘制条形图。在一个视图中,“比较”,我想为我的“项目”的每个“步骤”显示一个图表。我想它是这样的:
image_tag graph_step_path(step)
我在步进控制器中创建了一个“图形”动作并包含了一条路线。但现在我有点迷茫。我的控制器操作如何将正确的图像路径返回到image_tag函数?做'回归'感觉不对。或者我可以以某种方式直接包含由粗暴产生的图像blob?
编辑:
我创建了一个辅助函数,用于创建图形并返回文件路径。
答案 0 :(得分:5)
在控制器方法中,您希望返回实际图像而不是路径。将图像写入磁盘以满足每个请求的速度非常慢。 rails中的send_data方法用于执行此操作。
send_data(g.to_blob, :filename => "any.png", :type => 'image/png', :disposition=> 'inline')
g是你的粗暴实例。文件名根本不重要。图像标记的src应该是生成图形的特定控制器方法。您可以使用普通的url助手来生成它。