2010-09-23 28 views
6

這是一個關於web框架的高級問題,作爲桌面應用程序開發人員,我沒有太多的知識。將Raphael連接到Rails

我打算構建一個可視化存儲在數據庫中的一些數據的Web應用程序。我計劃使用Rails進行用戶查詢。爲了可視化,Raphael JS庫看起來不錯。試圖將Rails與這個庫連接起來會是一件相當艱鉅的任務嗎?

歡迎任何替代這兩個建議。

回答

9

連接Rails和Raphaël並不需要做太多的事情。 Raphaël是一個Javascript庫,它完全在客戶端上運行,而Rails是一個運行在服務器上的Web應用程序框架。你真正需要做的就是將Raphaël整合到你的頁面上,並以易於在Javascript中使用的格式向其提供數據;使用以JSON提供數據的RESTful控制器應該使您可以輕鬆地使用來自客戶端的XMLHttpRequest加載數據,然後您可以使用Raphaël顯示該數據。

2

瑞安貝茨在這個Railscasts談論圖表(包括拉斐爾),我很確定這是一個很好的起點。

2

Raphael是一個獨立的JS庫,您選擇的服務器端框架/語言並不重要。你不能只將一個插入另一個,但你必須弄清楚如何以預期的格式向Raphael提供所需的數據。 Rails在這方面不會比其他框架更好或更差。

0

應該沒有問題,特別是因爲Rails 3已經提出了一個JS庫不可知論的問題。

快速粗略搜索我看到這個庫可能值得您考慮。似乎沒有做餅圖,但它看起來不錯:Flot

該特定的庫是與jQuery集成的,這是一個流行和充分記錄的JS庫,Rails 3非常好地播放。

0

如果您感覺很懶,可以使用gem,它會爲您提供相關文件。

0

這很容易。 Raphaël是一個JavaScript庫,所以爲了使用它,將raphael-min.js文件放在app/assets/javascript文件夾中。然後,加入這一行

應用程序/視圖/佈局/ application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "raphael-min" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
... 

然後,寫你的JavaScript代碼到應用程序/資產/ JavaScript的/ application.js中的文件。這應該工作。