O que é o ActiveRecord?

Prévia grátis 2 min de leitura

Uma linha, vestida de objeto Ruby

article = Article.find(1)
article.title
# => "Hello Rails"
article.published?
# => true

Nada disso parece SQL: nenhum SELECT, nenhum WHERE, nenhum nome de coluna entre aspas. article é um objeto Ruby, e .title e .published? são chamadas de método, como todo objeto desde Visão geral do Rails MVC. Por baixo, uma linha de uma tabela articles foi lida e virou este objeto, cada coluna virando um atributo.

Essa camada de tradução, com uma classe por tabela e uma instância por linha, é o ActiveRecord, a parte do Rails que faz isso. O padrão se chama ORM, Object-Relational Mapper. Ele liga duas coisas que não falam a mesma língua: objetos Ruby e tabelas relacionais.

Onde isso se encaixa no que já foi coberto

Visão geral do Rails MVC chamou o Model de um dos três papéis, "dados e regras de negócio". O ActiveRecord transforma esse papel em código que funciona. Article, usado em Console Rails (IRB) e Rotas Rails: fundamentos como se um model já existisse, é um model ActiveRecord, e este curso olha essa classe por dentro.

O que este curso cobre, e o que ele deixa de lado

Este curso é estreito: a forma de uma classe de model, de onde ela vem, como os atributos aparecem sem ser escritos e um primeiro olhar sobre validações. Criar linhas, achá-las e escrever as migrations que dão forma a uma tabela têm cada um seu curso logo depois deste.

Pontos-chave

  • O ActiveRecord é o ORM do Rails, que traduz entre objetos Ruby e linhas de tabela.
  • .title e .published? são chamadas de método Ruby; o ActiveRecord as liga a colunas do banco.
  • Article, usado ao longo deste arco, é um model ActiveRecord, o papel de Model em código que funciona.
  • Este curso trata da forma de uma classe de model; criar, achar e migrations vêm em seguida.
Aula 1 de 7 · grátis

Continue com a aula 2

ApplicationRecord: a classe-mãe

Todo model herda de ApplicationRecord, uma base abstrata comum que por sua vez herda de ActiveRecord::Base.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...