Ultimamente ho avuto la fortuna di lavorare a tre progetti 100% rails, uno dei quali
abbastanza complessi ( www.alessandrodelpiero.com )
Tutti i progetti sono stati sviluppati in parallelo, se non avessi avuto a disposizione
le gemme ed i plugins di cui si parla dopo, non ne saremmo usciti vivi.
Ora ve li vado a presentare, in rigoroso ordine sparso.
Authlogic è un sistema di autenticazione che fa davvero solo quello che serve.
Sono stato per molto tempo un felice utilizzatore dell’ottimo restful-authentication
ma authlogic mi sembra più agile e facile da customizzare
Non credo che will_paginate abbia bisogno di presentazioni.
E’ semplicemente IL sistema di paginazione.
E’ facilissimo da usare, anche in ruby puro e non solo per paginare oggetti activerecord. Senza prezzo.
Dallo stesso autore di authlogic, searchlogic aggiunge dei named scopes e un DSL
con cui risulta facile “dialogare” con i modelli active record:
#ricerca scope = User.username_like("bjohnson").age_greater_than(20).id_less_than(55) scope.all scope.first scope.count #ordinamento User.ascend_by_id User.descend_by_id User.ascend_by_orders_line_items_price
Mette anche a disposizione comodi helpers per ricerca, sorting e tutte quelle noiose features da implementare che sono così utili in un pannello di amministrazione.
Dimenticavo, funziona alla grande in concerto con will paginate
Paperclip è per gli allegati quello che will paginate è per i sistemi di pagianzione.
Prima di papaerclip aggiungere un immagine o file ad una elemento activerecord era sempre una palla.
Uhuhuhuhuh Routing filter è dvvero geniale, e davvero semplice, ma così semplice che ci ho messo 2 ore per capire come funzionava.
Il readme fa intuire che ci sia da fare chissà che giri per usarlo, invece basta installarlo e inserire:
ActionController::Routing::Routes.draw do |map| map.filter :locale
Per fare in modo che la variable :locale sia anteposta a tutti gli url che generate con gli helper per gli url di rails.
#poniamo di avere 2 culture, {:it => 'it' , :en => 'en'} # in base alla cultura in uso (poniamo :it) i vostri url saranno: profile_bio_path() # output senza routing filter: /profile/bio # output con routing filter: /it/profile/bio
Si avete capito bene, senza modificare una riga di codice in routes.rb e senza aggiungere parametri ai vostri helper.
Per le persone che come me non hanno un bel raporto con i databases, rails indexes , è davvero un bell’amico.
Mette a disposizione dei task che analizzando gli oggetti acriverecord e le relazioni delle vostra app generano delle migrazioni per aggiungere gli indici che vi siete scordati.
Fate attenzione con oracle che si potrebbe lamentare per l’eccessiva (a suo dire) lunghezza dei nomi per gli indici.
Traducendo il readme di inherited resources :
Velocizza lo sviluppo facendo in modo che i controllers ereditino tutte le azioni REST di cui necessitano in modo che tu ti possa concentrare solo sulle cose importanti.
Scusate se è poco….
Le form sono noiose. Sono quasi sempre uguali ma diverse (cit). Alla fine ho abbandonato l’idea di farmi degli helper custom per le mie form quando ho scoperto formtastic .
Con un semplice snippet:
% semantic_form_for @user do |form| %= form.inputs %= form.buttons
Abbiamo tutte le proprietà del modello, e supporta pure le relazioni di ar! Chiaramente per ottenere l’effetto voluto dobbiamo andare un po’ oltre, ma con sempre meno sbattimento che scriverlo da zero.
Scrooge è uno dei miei preferiti, basta installarlo e tutte le vostre query con activerecord selezioneranno solo i campi di cui avete bisogno.
Come se specificassimo in tutti i find che usiamo nella app la opzione :select. Ma senza farlo! Geniale.
La mia fantastica ed entusiasmante carriera professionale.
Curriculum via googledocs, aggiornato a
bassa frequenza.
fatto con: webby, blueprint css e jquery