2010-09-23 15 views
6

To jest pytanie na wysokim szczeblu dotyczące frameworków internetowych, które nie są mi znane jako programista aplikacji desktopowych.Łączenie Raphaela z szynami

Mam zamiar zbudować aplikację internetową, która wizualizuje niektóre dane przechowywane w bazie danych. Planuję używać Railsów dla zapytania użytkownika. Dla wizualizacji biblioteka JS Raphael wygląda dobrze. Czy byłoby sporym zadaniem próbować połączyć Railsy z tą biblioteką?

Wszelkie zalecenia dotyczące zamienników tych 2 są mile widziane.

Odpowiedz

9

Nie ma zbyt wiele rzeczy, które należy zrobić, aby połączyć Railsy i Raphaël. Raphaël jest biblioteką JavaScript, więc działa wyłącznie na kliencie, a Rails to framework aplikacji WWW działający na serwerze. Wszystko, co naprawdę musisz zrobić, aby je zintegrować, to Raphaël na twojej stronie i dostarczaj dane do niego w formacie łatwym do użycia z Javascript; używanie kontrolerów RESTful, które dostarczają dane w JSON, powinno ułatwić ładowanie danych za pomocą XMLHttpRequest od klienta, który można następnie wyświetlać za pomocą Raphaël.

2

Ryan Bates rozmawia o wykresach (w tym Raphael) w tym Railscasts, jestem pewien, że to dobry punkt wyjścia.

2

Raphael jest samodzielną biblioteką JS, wybór frameworka/języka po stronie serwera jest naprawdę nieistotny. Nie możesz po prostu podłączyć jednego do drugiego, musisz dowiedzieć się, jak dostarczyć Raphaelowi dane, których potrzebuje w oczekiwanym formacie. Railsy nie będą lepsze ani gorsze niż jakiekolwiek inne ramy.

0

Nie powinno być problemów, szczególnie, że Rails 3 stał się agnostykiem biblioteki JS.

Wykonując szybkie, pobieżne wyszukiwanie Widziałem tę bibliotekę, która może zasługiwać na twoje uwagi. Wydaje się nie wyświetlać wykresów kołowych, ale poza tym wygląda dobrze: Flot

Ta konkretna biblioteka została stworzona do integracji z jQuery, popularną i dobrze udokumentowaną biblioteką JS, z którą Rails 3 bardzo dobrze się odtwarza.

0

Jeśli czujesz się leniwie, możesz użyć pliku gem, który będzie zawierał odpowiednie pliki.

0

To bardzo proste. Raphaël jest biblioteką javascript, więc aby z niej skorzystać, umieść plik raphael-min.js w folderze app/assets/javascript. Następnie dodać ten wiersz

app/views/układów/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 %> 
... 

Następnie napisać kod javascript do aplikacji aktywa/plików/javascript/application.js. To powinno działać.

Powiązane problemy