Se volete usare un layout dentro un altro layout potete utilizzare il plugin nested_layout che con l’helper inside_layout, vi consente di specificare il template in cui includere il contenuto del blocco successivo, vediamo un esempio:
1 <% inside_layout ’site’ do -%>
2 <div [...]
Prince XML non è una libreria opensource e necessita di una licenza che va da i 495$ fino ai 3800$, esiste anche una versione gratuita che aggiunge un watermark in alto a destra alla pagina. Se l’applicazione che state sviluppando si basa molto sui report di stampa, vi raccomando questa libreria che è indubbiamente la [...]
Può essere utile mettere un default_scope per filtrare a monte determinati contenuti, il problema è che se usate questo tipo di scope, verrà applicato sempre anche quando magari non serve.
Per evitare il problema o usate i named_scope, oppure usate il with_exclusive_scope.
1 default_scope :conditions => ["field = ?", valore], :order => ‘published_at [...]
Come apprendiamo da questo vecchio post di Duccio, a partire dalla versione 2.1.0 di Rails è possibile effettuare query con eager loading su modelli polimorfici, ma tuttora non è possibile applicarci delle condizioni.
Un’interrogazione all’Active Record come la seguente funziona soltanto se il modello Account non è polimorfico:
usr = User.find(:first, :include => :accounts, :conditions => ["accounts.name [...]
L’ottimizzazione delle query è sempre un punto cruciale per ogni progetto ed è sicuramente una parte fondamentale del processo di ottimizzazione di un’applicazione Web. Non credo di dirvi niente di nuovo ma, considerato che non ne ho mai parlato direttamente, riporto un piccolo riassunto.
Ip plugin query_analyzer vi consente di avere l’EXPLAIN delle query [...]
Ricordate quando usavamo il plugin scoped_access per aggiungere condizioni di default ad ogni query effettuata, poi sono stati introdotti i named_scope, favolosi.
Con i named_scope potete aggiungere dei metodi di classe per filtrare e recuperare elementi dal database, ad esempio se volete tutti i contenuti pubblicati:
1 class Contenuti < ActiveRecord::Base
[...]
Localized Country Select plugin permette di ottenere una select di nazioni con i nomi dei paesi tradotti in diverse lingue.
Il codice è basato su quello del vecchio country_select plugin e si appoggia all’I18n di Rails per la traduzione dei nomi.
<%= localized_country_select(:iso, [], {:include_blank => “Tutte le nazioni”}) %>
Il primo parametro, :iso nel mio caso, individua [...]
Volevo usare il Lavalamp in uno dei nostri progetti, ma esistono due versioni una per il jQuery e una per le MooTools, peccato che io usi prototype (testato con Prototype JavaScript framework, version 1.6.0.2).
Dopo aver fatto una ricerca poco felice su un effetto simile in prototype, l’ho rifatto! Mi sembra che funzioni abbastanza bene. Comunque [...]
Investigando le alternative a render_component, tempo fa abbiamo parlato di Cells, mentre oggi vediamo embedded-actions.
Embedded-actions plugin è del tutto simile a render_component, ma pulito, ottimizzato e pienamente supportato da Rails 2.3.x!
Il plugin serve per integrare in maniera semplice e veloce il risultato di un’azione di un controllore qualsiasi all’interno di una vista.
Ad esempio se all’interno [...]
Noel Rappin ha pubblicato Rails Test Prescriptions una guida PDF sul testing in RAILS veramente utile. Potete scaricare anche Getting Started With Rails Testing , una preview di 84 pagine, fare l’upgrade alla guida completa di 286 pagine costa solo 9£ e la potete comprare su lulu.
Se non avete mai usato i test e volete [...]
Lo script non è nuovo deriva da quello di fiveruns per configurare rails su Slicehost.
Questo script configura automaticamente in remoto una prima istallazione di Linux in un ambiente di produzione per Ruby on Rails, vengono anche installati Spree, jobberRails, Radian e El Dorado.
La versione pdf è gratuita potete scaricare già il primo e il secondo numero, esce 15 giorni dopo la pubblicazione della versione cartacea.
Date un occhio a railsmagazine, qualche articolo è interessante!
Open Flash Chart 2 è un plugin rails per generare grafici con open flash chart librerie flash per generare gafici come torte, barre, linee, aree, animati e con i tooltip.
Lavorandoci mi sono accorto che non c’è una gestione dei temi, per ogni grafico si devono ridefinire gli stili, per questo sto facendo una piccola libreria [...]
Spero non sia solo un mio problema ma usando l’I18n di Rails per l’internazionalizzazione, funziona tutto correttamente a parte il metodo to_s(:format) usato sulle date (classe ActiveSupport::TimeWithZone) che restituisce la data formattata correttamente ma sempre in inglese.
Per ovviare al problema ho fatto l’overload del metodo to_s() per la classe TimeWithZone:
1 module [...]
Se dopo l’agiornamento al rails 2.2.2 o al 2.3.2 avete come warning The binding argument of #concat is no longer needed cambiate:
1 concat(content, block.binding)
In:
1 concat(content)
Probabilmente avrete già usato il metodo fields_for dei form per consentire la gestione di modelli correlati sia nelle relazione one-to-one sia nelle one-to-many.
1 <% form_for @person, :url => { :action => “update” } do |person_form| %>
2 …
3 <% person_form.fields_for :address [...]
Niente di nuovo, si sapeva che il vecchio Globalize sarebbe stato integrato in rails 2.2, ma adesso che l’ho provato posso raccontarvi qualcosa in più.
Tutte le nuove applicazioni hanno una nuova cartella config/locales che continene file .yml o .rb con le vostre traduzioni.
Nel file environment.rb ci sono le configurazioni per l’internazionalizzazione, di default la [...]
Usare il RAND() nell’order di ActiveRecord è comodo in quanto si sfrutta una funzione di SQL per restituire i record ordinati randomicamente.
Se però usate Postgres o SQlite come database si genera un errore in quanto questi ultimi non usano la funzione RAND() ma RANDOM().
Per ovviare al problema potete definire un simbolo :random che all’occorrenza [...]
Beh, se usate RMagick nei vostri progetti sicuramente vi sarà capitato di aggiungere un watermark alle immagini, usando magari il Magick::SouthGravity per posizionare la scritta in basso.
Come al solito in Rails le cose si fanno molto veloci, alcune volte anche senza guardare la documentazione si tira lì un metodo e si azzecca ;-)… A [...]
Capistrano è favoloso per fare i deploy delle vostre applicazioni rails; suppongo che molti di voi usino delle cartelle collegate simbolicamente così da evitare di mettere nel vostro repositorio, SVN o GIT, file che cambiano spesso come i logs dell’applicazione o i tmp.
Non è il caso dei tmp o dei logs che vengono [...]