Como criar um formulário simples no Rails usando `form_with`?

Oct 09, 2025Deixe um recado

No mundo dinâmico do desenvolvimento web, Ruby on Rails se destaca como um framework poderoso e eficiente para construção de aplicações web. Um dos aspectos fundamentais de muitas aplicações web é a capacidade de coletar informações do usuário por meio de formulários. Nesta postagem do blog, orientarei você no processo de criação de um formulário simples em Rails usando oformulário_comajudante. Como fornecedor Rails, tive o privilégio de trabalhar em vários projetos onde os formulários desempenham um papel crucial e estou animado para compartilhar meus insights com você.

Entendimentoformulário_comem trilhos

Antes de nos aprofundarmos na criação de um formulário, vamos entender o queformulário_comé.formulário_comé um método auxiliar no Rails que simplifica o processo de criação de formulários HTML. Ele fornece uma maneira flexível e intuitiva de gerar formulários semanticamente corretos e fáceis de manter. Esteja você criando um formulário de contato simples ou um formulário complexo de várias etapas,formulário_comvocê tem coberto.

Configurando uma nova aplicação Rails

Se ainda não o fez, você precisará configurar uma nova aplicação Rails. Abra seu terminal e execute o seguinte comando:

trilhos novo simple_form_app cd simple_form_app

Isso criará uma nova aplicação Rails chamadasimple_form_appe navegue até o diretório do aplicativo.

Gerando um controlador e uma visão

A seguir, geraremos um controlador e uma view para manipular nosso formulário. Execute o seguinte comando em seu terminal:

rails gera controlador Forms novo

Isto irá gerar umControlador de Formulárioscom umnovoação e um arquivo de visualização correspondente emapp/views/forms/new.html.erb.

Criando o formulário usandoformulário_com

Agora, vamos abrir oapp/views/forms/new.html.erbarquivo e crie nosso formulário usandoformulário_com. Aqui está um exemplo de um formulário de contato simples:

<%= form_with(url: "/submit_form", método: :post) do |form| %> <div> <%= form.label :nome %> <%= form.text_field :name %> </div> <div> <%= form.label :email %> <%= form.email_field :email %> </div> <div> <%= form.label :message %> <%= form.text_area :message %> </div> <div> <%= form.submit "Enviar" %> </div> <% end %>

Neste exemplo, estamos usandoformulário_comcriar um formulário que submeterá seus dados ao/enviar_formulárioURL usando oPUBLICARmétodo. Dentro do bloco de formulário, estamos usando vários métodos auxiliares de formulário para criar campos de entrada para o nome, email e mensagem do usuário, bem como um botão de envio.

49E2 Steel RailBS 100A Rail

Lidando com o envio do formulário

Para lidar com o envio do formulário, precisaremos adicionar uma rota e uma ação ao nossoControlador de Formulários. Abra oconfig/rotas.rbarquivo e adicione a seguinte linha:

postar '/submit_form', para: 'forms#submit'

Isto irá mapear o/enviar_formulárioURL para oenviaração noControlador de Formulários. Agora, abra oapp/controllers/forms_controller.rbarquivo e adicione a seguinte ação:

def submit # Aqui você pode processar os dados do formulário, por exemplo, salvá-los no banco de dados name = params[:name] email = params[:email] message = params[:message] # Por enquanto, vamos apenas imprimir os dados no console puts "Name: #{name}" puts "Email: #{email}" puts "Message: #{message}" redirecionamento_to root_path, aviso: 'Formulário enviado com sucesso!' fim

Nesta ação, estamos recuperando os dados do formulário doparâmetroshash e imprimi-lo no console. Em um aplicativo do mundo real, normalmente você salvaria os dados em um banco de dados ou enviaria um email. Após processar os dados do formulário, redirecionamos o usuário para o caminho raiz com uma mensagem de sucesso.

Estilizando o formulário

Para deixar nosso formulário mais apresentável, podemos adicionar alguns estilos CSS. Abra oapp/assets/stylesheets/application.cssarquivo e adicione os seguintes estilos:

formulário div {margem inferior: 10px; } rótulo do formulário { display: bloco; margem inferior: 5px; } form input[type="text"], form input[type="email"], form textarea { largura: 100%; preenchimento: 5px; borda: 1px sólido #ccc; raio da borda: 3px; } form input[type="submit"] { cor de fundo: #007BFF; cor: branco; preenchimento: 10px 20px; fronteira: nenhuma; raio da borda: 3px; cursor: ponteiro; } form input[type="submit"]:hover { background-color: #0056b3; }

Esses estilos darão ao nosso formulário uma aparência limpa e profissional.

Adicionando validação ao formulário

Para garantir que o usuário insira dados válidos, podemos adicionar validação ao nosso formulário. No Rails, podemos usar validações ActiveRecord para validar os dados antes de salvá-los no banco de dados. Entretanto, como não estamos usando um modelo neste exemplo, podemos usar JavaScript para realizar validação básica no lado do cliente. Aqui está um exemplo de como adicionar validação ao nosso formulário usando JavaScript:

document.addEventListener('DOMContentLoaded', function() { const form = document.querySelector('form'); form.addEventListener('submit', function(event) { const name = document.querySelector('input[name="name"]').value; const email = document.querySelector('input[name="email"]').value; const mensagem = document.querySelector('textarea[name="message"]').value if (nome === '' || email === '' || mensagem === '') { alert('Por favor preencha todos os campos');

Este código JavaScript impedirá que o formulário seja enviado se algum dos campos obrigatórios estiver vazio.

Conclusão

Criando um formulário simples em Rails usandoformulário_comé um processo simples. Seguindo as etapas descritas nesta postagem do blog, você pode criar um formulário funcional que coleta informações do usuário e gerencia os envios de formulários. Como fornecedor do Rails, vi em primeira mão o poder e a flexibilidade do Rails na construção de aplicações web e espero que este guia tenha sido útil para você.

Se você estiver interessado em adquirir trilhos de alta qualidade para seus projetos, oferecemos uma ampla gama de opções, incluindo oTrilho de guindaste padrão KP140 GOST,Trilho de aço 49E2, eTrilho BS 100A. Nossos trilhos são projetados para atender aos mais altos padrões de qualidade e desempenho, e estamos comprometidos em fornecer um excelente atendimento ao cliente. Se você tiver alguma dúvida ou quiser discutir suas necessidades, não hesite em nos contatar para uma consulta de aquisição.

Referências

  • Guias Rails: https://guides.rubyonrails.org/
  • Rede de desenvolvedores Mozilla: https://developer.mozilla.org/