Eventuali duplicati:
Custom model attribute (column name) title in Ruby on RailsNomi attributi umani in Rails 3.x?
ho usato questa soluzione in Rails 2.x per sempre:
HUMANIZED_ATTRIBUTES = {
:email => "E-mail address"
}
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
ma questo provoca strani errori quando ricevendo il errors
da un'istanza di ActiveRecord. Qual è il modo corretto per ottenere nomi chiari e leggibili in Rails 3.x?
fresco che lavorato. Avrei dovuto controllare l'API. Per la cronaca, sto usando 'HUMANIZED_ATTRIBUTES [attr.to_sym] || super.split ("") .collect {| word | word.capitalize} .join ("") 'che è carino ma banale :) –
A meno che non stia interpretando male quello che stai facendo, penso che super.titleize faccia la stessa cosa, cioè, capitalizzi tutte le parole. "foo bar baz" .titleize => "Foo Bar Baz" –
+1. C'è qualche ragione per cui non uso titlelize, in quanto è Rails-only e non utilizzabile in Ruby. Ma in questo caso, è perfetto. –