Agile Web Development with Rails: imparare Rails 2.x

Rails3Chi volesse cimentarsi nell’apprendimento del framework per lo sviluppo web Rails, troverà al momento, a parte qualche tutorial qua e la, solo manuali che trattano la versione 1.2 di Rails.

Da fine dicembre 2007 è uscita la versione 2.0 e da pochi giorni la 2.1. Le modifiche al framework e le differenze nella stesura del codice sono così numerose da aver interrotto la compatibilità con la versione precedente.

Per esperienza personale, avevo installato la versione 2.0.2 di Rails, seguendo un manuale che purtroppo era basato sulla 1.2. Ad ogni capitolo qualcosa non funzionava (rispetto a quanto spiegato nel libro) ed ero costretto a ricorrere a Google oppure ai forum dedicati per chiedere spiegazioni.

A quel punto mi sono chiesto: ma non esiste un libro che sia basato su Rails 2.x ?! Per fortuna, dopo una breve ricerca ho scoperto l’esistenza di questo fantastico manuale: Agile Web Development with Rails, Third Edition.

Il libro non è ancora stato rilasciato in versione definitiva, tanto che uscira’ d ottobre 2008. Come fare ad averlo in anteprima? Gli autori mettono a disposizione (a prezzo piuttosto ridotto) la versione beta in formato PDF e permettono di pre-ordinarela versione cartacea. Una volta acquistata la versione in PDF (al prezzo di circa 15€, grazie al cambio favorevole euro/dollaro) si ha diritto a tutti gli aggiornamenti che vengono rilasciati (ogni 2 o 3 settimane circa)  ed alla versione definitiva del PDF quando verrà rilasciato il libro ad Ottobre.

Per quello che posso dirvi, soprattutto avendo iniziato a leggere un manuale analogo che trattava la versione 1.2, si tratta di un ottimo prodotto che, anche se in versione beta, è praticamente pronto per essere studiato con estremo profitto. Quasi tutti i capitoli sono stati già rivisti e quindi ripensati per la sintassi e le funzionalità di Rails 2.x, in particolare quelli che trattano ActiveRecord.

Applicazioni Ruby On Rails che non utilizzano database

Se a qualcuno fosse capitato di recente di creare una semplice applicazione “Hello World” utilizzando il framework Ruby on Rails, avrà notato che in fase di esecuzione si ottiene un errore di questo tipo:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Perchè un errore relativo a MySQL in un’applicazione che stampa semplicemente una stringa di testo? Nelle nuove versioni di RoR vengono caricati per default i moduli ActiveRecord, ActiveResource e ActionMailer. ActiveRecord in particolare si aspetta di trovare (per le impostazioni di default) un database MySQL funzionante.

Per evitare questo errore è sufficiente decommentare una riga all’interno di environment.rb che si trova in $PATH_APPLICAZIONE/config/environment.rb:

# Skip frameworks you're not going to use (only works if using vendor/rails).
# To use Rails without a database, you must remove the Active Record framework
config.frameworks -= [ :active_record, :active_resource, :action_mailer ]

Fonte: http://www.swards.net/2008/02/ruby-on-rails-application-with-no.html