Criando a aplicação Rails
Para este livro, a versão do Rails utilizada será a 8 e será uma simples aplicação que guarda URLs úteis que os usuários possam acessa-las mais tarde, esta aplicaçao utiliza SQLite como banco de dados, TailwindCSS para os estilos e Importmaps para uma abordagem No-Build seguindo as novas práticas do Rails.
Criando uma nova aplicação Rails
Execute no seu terminal:
rails new hotwireapp --css tailwind --skip-jbuilder
Criando a resource Url
Para acessar a aplicaçao e começar a implementar o que é preciso, acesse a pasta do projeto e crie o scaffold Url que possui 3 atributos:
- Title
- Link
- Description
cd hotwireapp && bin/rails generate scaffold Url title:string link:string description:text
Criando página home customizada
Será criada uma página inicial personalizada para demonstrar a navegação em stack no iOS, servindo como ponto de entrada da aplicação Rails.
bin/rails generate controller pages home
Configurando a rota padrão
Defina essa página como a rota padrão no arquivo config/routes.rb, configurando-o da seguinte forma:
Rails.application.routes.draw do
get "pages/home"
resources :urls
get "up" => "rails/health#show", as: :rails_health_check
root "pages#home"
end
Migrando o banco
bin/rails db:preapare
Acessando a aplicação via browser
bin/dev
Acesse a aplicação no browser pelo localhost:3000.
Adicionando uma navbar web
Adicione uma navegação entre a página inicial e a index das URLs criando a partial navbar em layouts/_navbar.html.erb.
<nav class="w-full bg-blue-600">
<div class="container mx-auto px-4">
<div class="flex justify-between items-center h-16">
<div>
<%= link_to "Hotwire App", root_url, class: "text-white text-lg font-semibold hover:text-purple-200" %>
</div>
<div class="flex space-x-6">
<%= link_to "ToDos", urls_path, class: "text-white hover:text-purple-200" %>
</div>
</div>
</div>
</nav>
E garanta que a partial está sendo renderizada:
<body>
<%= render 'layouts/navbar' %>
<main class="container mx-auto mt-28 px-5 flex">
<%= yield %>
</main>
</body>
Atualize e garanta que os links da Navbar estão funcionando.
Estas configurações são suficientes para prosseguir no desenvolvimento de um app nativo iOS com a aplicação Rails.