Sieć WhatsApp

8615824687445

Jak utworzyć prosty formularz w Rails używając form_with?

Oct 09, 2025Zostaw wiadomość

W dynamicznym świecie tworzenia aplikacji internetowych Ruby on Rails wyróżnia się jako potężna i wydajna platforma do tworzenia aplikacji internetowych. Jednym z podstawowych aspektów wielu aplikacji internetowych jest możliwość gromadzenia danych wejściowych od użytkowników za pośrednictwem formularzy. W tym wpisie na blogu przeprowadzę Cię przez proces tworzenia prostego formularza w Railsach przy użyciu metodyformularz_zpomocnik. Jako dostawca Rails miałem zaszczyt pracować nad wieloma projektami, w których formy odgrywają kluczową rolę, i jestem podekscytowany możliwością podzielenia się z Wami moimi spostrzeżeniami.

Zrozumienieformularz_zw Railsach

Zanim zajmiemy się tworzeniem formularza, poświęćmy chwilę na zrozumienie coformularz_zJest.formularz_zto metoda pomocnicza w Railsach, która upraszcza proces tworzenia formularzy HTML. Zapewnia elastyczny i intuicyjny sposób generowania formularzy, które są zarówno poprawne semantycznie, jak i łatwe w utrzymaniu. Niezależnie od tego, czy tworzysz prosty formularz kontaktowy, czy złożony, wieloetapowy formularz,formularz_zczy jesteś objęty.

Konfigurowanie nowej aplikacji Railsowej

Jeśli jeszcze tego nie zrobiłeś, musisz skonfigurować nową aplikację Railsową. Otwórz terminal i uruchom następujące polecenie:

Railsy nowa płyta CD z aplikacją simple_form_app simple_form_app

Spowoduje to utworzenie nowej aplikacji Railsowej o nazwieaplikacja_prosty_formularzi przejdź do katalogu aplikacji.

Generowanie kontrolera i widoku

Następnie wygenerujemy kontroler i widok do obsługi naszego formularza. Uruchom następujące polecenie w swoim terminalu:

szyny generują nowe formularze kontrolera

To wygenerujeKontroler formularzyznowyakcja i odpowiedni plik widoku pod adresemapp/views/forms/new.html.erb.

Tworzenie formularza za pomocąformularz_z

Teraz otwórzmyapp/views/forms/new.html.erbplik i utwórz nasz formularz za pomocąformularz_z. Oto przykład prostego formularza kontaktowego:

<%= form_with(url: "/submit_form", metoda: :post) do |form| %> <div> <%= form.label :name %> <%= 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 "Wyślij" %> </div> <% end %>

W tym przykładzie używamyformularz_zstworzyć formularz, który będzie przesyłał swoje dane do/wyślij_formularzAdres URL za pomocąPOSTmetoda. Wewnątrz bloku formularza używamy różnych metod pomocniczych formularzy do tworzenia pól wejściowych dla nazwy użytkownika, adresu e-mail i wiadomości, a także przycisku przesyłania.

49E2 Steel RailBS 100A Rail

Obsługa przesłania formularza

Aby obsłużyć przesłanie formularza, będziemy musieli dodać trasę i akcję do pliku naszKontroler formularzy. Otwórzconfig/routes.rbplik i dodaj następujący wiersz:

opublikuj „/submit_form”, do: „forms#submit”

Spowoduje to zmapowanie/wyślij_formularzAdres URL doskładaćakcja wKontroler formularzy. Teraz otwórzapp/controllers/forms_controller.rbplik i dodaj następującą akcję:

def Submit # Tutaj możesz przetworzyć dane formularza, na przykład zapisać je w bazie danych name = params[:name] email = params[:email] message = params[:message] # Na razie po prostu wydrukujemy dane do konsoli puts "Name: #{name}" puts "Email: #{email}" puts "Message: #{message}" redirect_to root_path, uwaga: 'Form przesłany pomyślnie! koniec

W tej akcji pobieramy dane formularza z plikuparametryhash i wypisanie go na konsoli. W rzeczywistej aplikacji zazwyczaj zapisuje się dane w bazie danych lub wysyła wiadomość e-mail. Po przetworzeniu danych formularza przekierowujemy użytkownika do ścieżki root z komunikatem o powodzeniu.

Stylizacja formularza

Aby nasz formularz wyglądał bardziej reprezentacyjnie, możemy dodać kilka stylów CSS. Otwórzapp/assets/stylesheets/application.cssplik i dodaj następujące style:

formularz div {margines-dolny: 10px; } etykieta formularza { display: block; margines na dole: 5px; } wejście formularza[type="text"], wejście formularza[type="email"], pole tekstowe formularza { szerokość: 100%; dopełnienie: 5px; obramowanie: 1px stała #ccc; promień obramowania: 3px; } wejście formularza[type="submit"] { kolor tła: #007BFF; kolor: biały; dopełnienie: 10px 20px; granica: brak; promień obramowania: 3px; kursor: wskaźnik; } wejście formularza[type="submit"]:hover { kolor tła: #0056b3; }

Te style nadadzą naszej formie czysty i profesjonalny wygląd.

Dodanie walidacji do formularza

Aby mieć pewność, że użytkownik wprowadza prawidłowe dane, możemy dodać do naszego formularza walidację. W Railsach możemy używać walidacji ActiveRecord do sprawdzania poprawności danych przed zapisaniem ich w bazie danych. Ponieważ jednak w tym przykładzie nie używamy modelu, możemy użyć JavaScript do przeprowadzenia podstawowej walidacji po stronie klienta. Oto przykład, jak dodać walidację do naszego formularza za pomocą JavaScript:

document.addEventListener('DOMContentLoaded', funkcja() { const formularz = document.querySelector('form'); form.addEventListener('submit', funkcja(event) { const name = document.querySelector('input[name="name"]').value; const email = document.querySelector('input[name="email"]').value; const komunikat = document.querySelector('textarea[name="message"]').value; if (name === '' || e-mail === '' || wiadomość === '') { alert('Wypełnij wszystkie pola' event.preventDefault();

Ten kod JavaScript uniemożliwi przesłanie formularza, jeśli którekolwiek z wymaganych pól będzie puste.

Wniosek

Tworzenie prostego formularza w Railsach za pomocąformularz_zjest prostym procesem. Wykonując kroki opisane w tym poście na blogu, możesz utworzyć funkcjonalny formularz, który zbiera dane wejściowe użytkownika i obsługuje przesłania formularzy. Jako dostawca Railsów widziałem na własne oczy możliwości i elastyczność Railsów w tworzeniu aplikacji internetowych i mam nadzieję, że ten przewodnik był dla Ciebie pomocny.

Jeśli jesteś zainteresowany zakupem wysokiej jakości szyn do swoich projektów, oferujemy szeroką gamę opcji, w tymSzyna dźwigowa GOST Standard KP140,Szyna stalowa 49E2, ISzyna BS 100A. Nasze szyny zaprojektowano tak, aby spełniały najwyższe standardy jakości i wydajności, a naszym celem jest zapewnienie doskonałej obsługi klienta. Jeśli masz jakiekolwiek pytania lub chciałbyś omówić swoje wymagania, nie wahaj się z nami skontaktować w celu konsultacji w sprawie zakupów.

Referencje

  • Przewodniki po Railsach: https://guides.rubyonrails.org/
  • Sieć programistów Mozilli: https://developer.mozilla.org/