Rails Best Practices 3: Aumentare la leggibilità dei controller

[POST AGGIORNATO IL 19/07/2010 - 15:45] Proseguendo la nostra analisi delle Rails Best Practices oggi vediamo altri due accorgimenti per rendere più leggibili i metodi del controller.1. Metodi nel modelSupponiamo di avere la classica anagrafica utenti e che sia definito un utente admin che ha la possibilitò di attivare/disattivare gli altri utenti.Scrivendo il metodo deactivate del Controller user probabilmente l...

Leggi tutto

Rails Best Practices 2: Spostare la logica nel model

Continuiamo la nostra analisi delle Rails Best Practices. Nel post precedente abbiamo visto Named Scope, Model Association e Scope Access come metodi per spostare la logica dell’applicazione dai controller ai model. Proseguendo nella stessa direzione oggi prendiamo in esame l’utilizzo di Model Callback e di Virtual Attribute.1. Virtual AttributeSupponiamo di avere una tabella di anagrafica clienti definita c...

Leggi tutto

Rails Best Practices 1: Fat Model – Skinny Controller

Mantenere un controller scarno (skinny) è una delle cose più importanti per aumentare la leggibilità e la testabilità del codice. Vediamo dunque alcune pratiche per spostare la logica dal controller al model.1. Named ScopeIn questo primo esempio vediamo come utilizzare le named_scope per definire i metodi di ricerca nel model, semplificando il controller.Supponiamo di avere un contro...

Leggi tutto

Validazione Parziale in Rails

Capita talvolta di dover implementare la creazione/modifica di un model suddivisa su più di una form. Un caso abbastanza classico può essere una form di registrazione suddivisa in due step oppure la realizzazione di un wizard guidato composto da diverse pagine.Questa situazione ci pone davanti ad un problema: come e quando effettuare la validazione dei dati...

Leggi tutto

Accedere a current_user negli step definitions di Cucumber

Cucumber fornisce un ottimo strumento per applicare BDD durante lo sviluppo di applicazioni Rails.A volte è necessario popolare il database con background data, e a volte è necessario accedere al metodo1current_user.Generalmente1current_userè un metodo definito nella classe1ApplicationControllero in un modulo associato alla gestione utenti. Quindi non è accessibile dagli scenari...

Leggi tutto

Rails Authlogic + Subdomain_fu Template

Il secondo template Rails proposto da “DevInterface”:http://devinterface.com e rilasciato sotto licenza Rails MIT è Rails Authlogic + Subdomain_fu Template.Rails Authlogic + Subdomain_fu TemplateQuesto template viene utilizzato come struttura di base per ogni applicazione Rails (2.3) che prevede un meccanismo di autenticazio...

Leggi tutto

Rails Startup Template su github

Ciao a tutti.Oggi vorrei mostrare la prima delle due applicazioni Rails scritte da DevInterface.Sono entrambe hostate su GitHub e rilasciate con licenza Rails MIT. Quindi sentitevi liberi di clonarle/forkarle/patcharle.Rails Startup TemplateQuesto template vi permette di creare rapidamente una nuova applicazione Rails (2.3) con supporto per l’autenticazione.Per usarlo, basta semplicamente indicare l’opzione -m quando si crea la nu...

Leggi tutto