Archivi per la categoria ‘Rails’

Rails e PostgreSQL

Venerdì, 6 Gennaio 2006

Il tutorial più letto su Ruby On Rails è sicuramente quello presente su ONLamp, che però purtroppo utilizza MySQL come database. Dico purtroppo perchè MySQL è inferiore a PostgreSQL sotto molti aspetti: ora che quest’ultimo è disponibile nativamente su Windows non c’è nessun motivo di utilizzare MySQL. Usare PostgreSQL con Rails è altrettanto facile che usare MySQL. Per creare le tabelle necessarie è possibile sia usare il prompt dei comandi, sia, per chi è poco pratico di SQL, il software pgAdmin III, fornito in bundle col database vero e proprio. Sono necessari anche i bindings per PostgreSQL, che possono essere installati tramite GEM. Su Windows basta lanciare dal prompt dei comandi:

gem install postgres-pr

Una volta terminata l’installazione è sufficiente inserire nel file di configurazione database.yml, presente nella cartella config, questi parametri:

development:
adapter: postgresql
database: nomedb
username: usernamepg
password: passwordpg
encoding: UTF8

test:
adapter: postgresql
database: nomedb
username: usernamepg
password: passwordpg
encoding: UTF8

production:
adapter: postgresql
database: nomedb
username: usernamepg
password: passwordpg
encoding: UTF8

PostgreSQL supporta correttamente Unicode anche su Windows, quindi perchè non utilizzarlo? Con pgAdmin III è semplicissimo inserire e configurare le tabelle. L’unico accorgimento è quello di utilizzare direttamente il linguaggio SQL per inserire il campo id:

CREATE TABLE tabella (id SERIAL PRIMARY KEY, ...);

Una volta configurato il database è possibile utilizzare Rails normalmente.

Ruby On Rails

Venerdì, 16 Dicembre 2005

Sto cercando di imparare come funziona Ruby On Rails e seguendo il tutorial sono riuscito a creare un blog molto minimale (senza autenticazione, un wiki-blog diciamo :-) ), che vorrei sviluppare e magari trasformare in una piattaforma utilizzabile da tutti. Il problema è uno: si chiama Ruby. Pur essendo un bellissimo linguaggio, trovo che la sintassi sia troppo complessa, per chi è abituato al minimalismo di Python. Col pitone bastano le parentesi e i due punti per programmare, mentre col rubino…
Prendiamo l’unica riga di codice che ho scritto per implementare tutte le operazioni CRUD:

scaffold:post

Cos’è scaffold? Una funzione, un’istanza, cosa? E quei due punti cosa indicano?
Questa è stata però l’unica (ripeto, l’unica) riga di codice Ruby che ho scritto. La produttività è maggiore rispetto a qualsiasi web framework abbia mai utilizzato, ma prendere confidenza con la sua sintassi è davvero impresa ardua.

Dimenticavo
: naturalmente come database utilizzate PostgreSQL!