Applicazioni Ruby On Rails che non utilizzano database

Posted on Mon 26 May 2008 in Linux, Programmazione, Ruby, Ruby on Rails • Tagged with activerecord, errore, MySQL, ror, Ruby, Ruby on Rails

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