More on i18n, active record error messages
Meanwhile I’m waiting for some fixes to be tossed in into rails core (YAML files instead of ruby for example), here’s how to translate your active record error message in rails edge using the new i18n framework.
I18n.backend.store_translations "it-IT", {
:active_record => {
:error_messages => {
:inclusion => "non è incluso nella lista",
:exclusion => "è riservato",
:invalid => "è invalido",
:confirmation => "non coincide con la conferma",
:accepted => "deve essere accettata",
:empty => "non può essere vuoto",
:blank => "non può essere vuoto",
:too_long => "è troppo lungo (il massimo è {{count}} lettere)",
:too_short => "è troppo corto (il minimo è {{count}} lettere)",
:wrong_length => "è della lunghezza sbagliata (deve essere di {{count}} lettere)",
:taken => "è già in uso",
:not_a_number => "non è un numero",
:greater_than => "deve essere superiore a {{count}}",
:greater_than_or_equal_to => "deve essere superiore o uguale a {{count}}",
:equal_to => "deve essere uguale a {{count}}",
:less_than => "deve essere meno di {{count}}",
:less_than_or_equal_to => "deve essere meno o uguale a {{count}}",
:odd => "deve essere dispari",
:even => "deve essere pari",
:can_only_contain_letters_and_numbers => "può contenere solo lettere e numeri"
}
},
:yes => "sì",
:no => "no"
}
Custom validation message example:
validates_format_of :username, :with => /^\w+$/i, :message => :can_only_contain_letters_and_numbers
ultrasphinx facet search issue
As of now seems like ultrasphinx raises an error when rebuilding facet cache.
Exploring the source seems that the plugin always wants the parameter :as, so:
{:field => "ejection_fraction", :facet => true, :sortable => true, :as => "ejection_fraction"},
Also will_paginate has changed its API a little bit, it’s more a cosmetic change but necessary to avoid some logging noise in ultrasphinx. Hope to have the time to write a little patch soon.