Rails 3.0pre, JQuery, UJS in pratica

Il framework Rails 3.0 raggiungerà presto la versione 3.0pre, ma già ora è possibile apprezzare delle funzionalità interessanti: una su tutte la separazione tra HTML5 e Javascript (Unobstrusive Javascript - UJS). Pensate in un futuro prossimo di poter cambiare dei widget (es. Date picker) all'interno delle pagine web senza farvi venire il mal di testa e allo stesso tempo mantenere una "certa" compatibilità con i web browser sfigati.

Installazione di Rails 3.0 pre e Ruby 1.9 su Linux Ubuntu 10.04a Lucid Lynx

Nonostante Ruby 1.9 sia già presente nei repository, la versione di default è ancora Ruby 1.8.7, quindi bisogna specificare se vogliamo quella nuova.

sudo apt-get install rubygems1.9 ruby1.9-dev libsqlite3-dev giggle
sudo ln -s /usr/bin/ruby1.9 /usr/bin/ruby
sudo ln -s /usr/bin/rake1.9 /usr/bin/rake
sudo ln -s /usr/bin/gem1.9 /usr/bin/gem

sudo gem install bundler rake rack sqlite3-ruby
git clone git://github.com/rails/rails.git

A questo punto potete usare le ultime istruzioni dal blog di Rails per creare una nuova applicazione.

Una demo interessante

Sempre su GitHub si trova una demo interessante su come usare UJS in Rails. A questo punto quello che veramente manca è il supporto dei web browser alle nuove, visto che la demo funziona perfettamente con Firefox 3.6, ma non con Chromium (l'eliminazione funziona, ma non la creazione). Se guardate il codice HTML prodotto dalle "view" noterete che non c'è javascript, ma solo HTML con attributi particolari (data-remote=true).

Scaricate la demo e scopattatela in modo da avere le cartelle rails e rails-ujs sotto la stessa cartella.

cd rails-ujs
script/server

..e su http://0.0.0.0:3000/movies dovreste vedere la demo funzionante

Risorse utili

http://www.slideshare.net/kuahyeow/rails-3-cool-new-things
http://omgbloglol.com/post/344792822/the-path-to-rails-3-introduction