[RAILS] Nomi tabelle e models in italiano


#1

Se volete usare nomi delle tabelle in italiano, potete usare l’apposito
inflector in enviroinment.rb

Con una cosa del genere gestite il 99% dei casi

Inflector.inflections do |inflect|
inflect.plural /^([\w])a/i, ‘\1e’
inflect.singular /^([\w]
)e/i, ‘\1a’
inflect.plural /^([\w])o/i, ‘\1i’
inflect.singular /^([\w]
)i/i, ‘\1o’
End

Per verificarlo:

p Inflector.pluralize(‘casa’) #–> casa
p Inflector.singularize(‘zone’) #–> zona
p Inflector.pluralize(‘deputato’) #–> deputati
p Inflector.singularize(‘documenti’) #–> documento

Cosi vi salta tutto l’inglese quindi dovete andare avanti tutto in
italiano

Se volete mappare a mano solo le poche parole che dovete lasciare in
italiano, potete fare

Inflector.inflections do |inflect|
inflect.irregular ‘deputato’, ‘deputati’
inflect.irregular ‘documento’, ‘documenti’
end

jeko


#2

Stefano G. wrote in post #254301:

Se volete usare nomi delle tabelle in italiano, potete usare l’apposito
inflector in enviroinment.rb

Con una cosa del genere gestite il 99% dei casi

Inflector.inflections do |inflect|
inflect.plural /^([\w])a/i, ‘\1e’
inflect.singular /^([\w]
)e/i, ‘\1a’
inflect.plural /^([\w])o/i, ‘\1i’
inflect.singular /^([\w]
)i/i, ‘\1o’
End

Queste regole danno problemi perchè si sovrappongono alle regole per
l’inglese creando strani errori dove meno ve lo aspettereste.

Meglio procedere con regole meno invasive e gestire più cose tramite
“irregular”.

Un esempio:

azione, condizione, deviazione, proiezione

inflect.plural /([\w])zione$/i, ‘\1zioni’
inflect.singular /([\w]
)zioni$/i, ‘\1zione’

ente, dipendente, serpente

inflect.plural /([\w])nte$/i, ‘\1nti’
inflect.singular /([\w]
)nti$/i, ‘\1nte’

Irregolarità

inflect.irregular ‘errore’, ‘errori’