Trilha Júnior Trilha

ActiveRecord: table_name overrides

O curso mostra como o ActiveRecord liga uma classe de model à tabela do banco e como self.table_name sobrescreve essa ligação. Começa pela convenção de nomes do Rails e pelo método table_name_prefix que os módulos de namespace deste app definem. Depois explica por que o app separa nomes de tabela dos namespaces Ruby. Em seguida vêm três tipos de sobrescrita: uma que tira um prefixo, uma que não muda nada e uma que acrescenta precisão. As últimas aulas tratam do que table_name não afeta, como chaves estrangeiras e migrations.

O que você vai aprender

  • ✓Como o Rails chega ao nome da tabela tirando o módulo, passando para snake_case e pondo no plural
  • ✓Como o table_name_prefix de um módulo define o nome padrão das tabelas dos seus models
  • ✓Por que os nomes de tabela ficam separados dos namespaces Ruby
  • ✓Três trabalhos de self.table_name: tirar um prefixo, repetir a convenção e acrescentar precisão
  • ✓Por que chaves estrangeiras e migrations não dependem do table_name de um model
  • ✓Como um table_name errado falha com PG::UndefinedTable
Prévia grátis · Aula 1 3 min de leitura

A convenção de nomes do Rails, e onde este app a quebra

Todo model que estes cursos tocaram, como Catalog::Course, Enrollment::Enrollment e Identity::User, encontra a própria tabela sem ninguém escrever código de mapeamento, na maior parte das vezes. A regra do Rails é pegar o nome da classe, tirar o módulo (descartar qualquer prefixo Module::), passar…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...