2011-08-29 76 views
1

我很新的红宝石轨道上,我试图嵌入一些图到我的应用程序。 我选择使用sc and,我安装了sc ge的宝石。 但现在我真的不知道如何实际创建图表。我在哪里必须放置代码(在控制器或视图内)? 我是否在控制器或视图中调用.render方法? 如果我在控制器中调用.render方法,我怎样才能让图形显示在我的视图中? 对于初学者,我只想渲染svg图像,因为我不想安装imageMagick。如何使用褴褛的轨道

任何帮助将不胜感激! 谢谢

回答

0

你究竟想用这些图表做什么?

据我所知,sc ge宝石是不是专门为Rails制作的ruby库。你应该像普通的ruby脚本一样使用它,例如从一些数据创建图形并将其保存到文件。如果你在Rails应用程序中这样做,这个代码应该放在你的模型中,你应该以某种方式将创建的图像的URL存储在模型中,以便稍后可以从视图中轻松访问它。图像创建过程可能很耗时,因此请考虑使用某种背景作业(例如delayed_job)。

后的图形创建您可以在您的观点。通常的方式显示出来:

<%= image_tag path_to_graph %> 
+0

现在我用这个在我contorller:@ graph.render(:宽=> 800:为= >“#{RAILS_ROOT} /public/images/AgentGraph.svg”),这在我看来:<%= image_tag(“AgentGraph.svg”)%>但由于某种原因它不起作用... – Chris

+0

你'重新做错 想象一下 - 为您的控制器的每一个请求创建一个新图形。这是非常无效的,你应该偶尔创建一个图形,这取决于数据刷新率。 但无论如何,你的方法似乎对我有用。它究竟如何不起作用?如果您直接在地址栏中输入网址,您能看到图片吗? – binarycode