Pluralização “irregular”

A pluralização dos models no Rails é baseado na gramática da língua inglesa. Dessa forma, um model chamado user terá uma tabela chamada users, um model person terá uma tabela people e assim por diante.

No caso dos plurais “irregulares”, como é o caso do person <-> people, é que podemos ter problemas ao usar nomes de modelos em português. Por exemplo, se criarmos um model computador, o rails criará a tabela computadors ao invés de computadores. Ele simplesmente coloca um “s” no final do nome do model quando ele não sabe pluralizar a palavra.

Para isso, podemos configurar o inflector do Rails para que ele saiba como pluralizar algumas palavras. Como fazer isso:

No Rails < 2.0, descomente e modifique o seguinte trecho de código no seu arquivo config/environment.rb (procure o trecho comentado, não tem como você colocar no lugar errado)

Inflector.inflections do |inflect|
inflect.irregular 'computador', 'computadores'
end

No Rails >= 2.0 esse trecho de código fica no arquivo config/initializers/inflections.rb.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *