13 de Fevereiro de 2024 - @Walmir Neto
Avo é uma ferramenta para “criar áreas administrativa”, ele apareceu como alternativa para ‣ e ‣. E para adicionar é só entrar na pasta do projeto e rodar
rails app:template LOCATION='<https://avohq.io/app-template>'
Esse comando vai adicionar as rotas do avo, o arquivos de configuração e
# Gemfile
+gem "avo", ">= 3.2"
# routes.rb
Rails.application.routes.draw do
+ mount Avo::Engine, at: Avo.configuration.root_path
# Define your application routes per the DSL in <https://guides.rubyonrails.org/routing.html>
E cria o arquivo de inicialização config/initializers/avo.rb
Depois que vocês instala o avo, tais como:
rails g | grep "avo:"
# Avo:
# avo:action
# avo:card
# avo:controller
# avo:dashboard
# avo:eject
# avo:field
# avo:filter
# avo:install
# avo:js:install
# avo:locales
# avo:resource
# avo:resource_tool
# avo:scope
# avo:tailwindcss:install
# avo:tool
# avo:version
Mas criar um resource “avo” pode ser através do rails g model
➜ rails g model post title:string content:text publiahed_at:datetime disabled:boolean
Com isso além do model padrão rails, será criado dois arquivos extras app/controllers/avo/posts_controller.rb
(controller do resource) e app/avo/resources/post.rb
e esse sim que são os campos que querem adicionar no form e na listagem de posts
class Avo::Resources::Post < Avo::BaseResource
self.title = :title
def fields
field :title, as: :text
field :content, as: :textarea
field :published_at, as: :date_time
field :disable, as: :boolean
end
end
O que é muito prático do Avo é que só usando o generate model
do rails, o Avo, já vai gera o resource acima e depois disso você terá um CRUD completo de posts acessando http://localhost:3000/avo/resources/posts
https://youtu.be/BK47E7TMXn0?si=LCeo3zOCmeISykWQ
O vídeo acima é uma das melhores explicação do como o Avo é útil
O código desse exemplo → https://github.com/owalmirneto/rails-demo/pull/6