O que é o ActiveRecord?
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.
.titlee.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.
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.