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.


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/
