Partials ActionView
O curso trata dos partials do ActionView: arquivos de view escritos uma vez e renderizados onde a mesma marcação se repete. Os exemplos vêm dos arquivos deste projeto, como _course_card.html.erb, _form_errors.html.erb e _sponsor_line.html.erb. As aulas explicam o underscore no início do nome do arquivo e como o Rails procura o partial na pasta da view que chama. Mostram como passar variáveis locais, por que uma local ausente gera erro e como o local_assigns lida com locais opcionais. Também tratam de partials em outras pastas e comparam a forma abreviada de render com a explícita.
O que você vai aprender
- ✓O que é um partial e por que a marcação é reaproveitada com ele
- ✓A regra do underscore no nome e como o Rails encontra o arquivo
- ✓Passar variáveis locais a um partial, incluindo collection: e as:
- ✓Ler variáveis locais opcionais com local_assigns
- ✓Renderizar um partial que fica em outra pasta
- ✓Escolher entre a forma abreviada e a explícita de render
O que é um partial?
A página de roadmap, app/views/catalog/courses/index.html.erb, renderiza o mesmo card para todo curso: imagem, título, barra de progresso e selo, mudando só os dados. Escrever essa marcação à mão por curso duplicaria mais de vinte linhas em todo lugar onde um curso aparece. Este projeto a escreve…
Ler a aula completa grátis →Currículo
7 aulasO que é um partial?
Apresenta os partials a partir do card renderizado para cada curso na página de roadmap.
A convenção de nomenclatura com underscore
Explica o underscore no nome do arquivo partial e como o Rails procura na pasta da view que chama.
Passando variáveis locais para um partial
Mostra como as variáveis locais chegam ao partial e por que uma local ausente gera ActionView::Template::Error.
Os arquivos partial reais deste projeto
Lê três partials do projeto que recebem zero, uma e cinco variáveis locais, conforme o que a marcação lê.
Um partial em outra pasta
Trata de renderizar um partial pelo caminho a partir de app/views/ e de ler locais opcionais com local_assigns.
render abreviado vs. explícito
Compara o render abreviado e o explícito e mostra quando opções como collection: e cached: exigem a forma explícita.
Juntando os partials
Revisa quatro chamadas de render do projeto e as duas regras que todos esses partials seguem.