Имейл

sales@gneerail.com

WhatsApp

8615824687445

Как да създадете проста форма в Rails, използвайки form_with?

Oct 09, 2025Остави съобщение

В динамичния свят на уеб разработката, Ruby on Rails се откроява като мощна и ефективна рамка за изграждане на уеб приложения. Един от основните аспекти на много уеб приложения е способността за събиране на въведени от потребителите данни чрез формуляри. В тази публикация в блога ще ви преведа през процеса на създаване на проста форма в Rails с помощта наформа_спомощник. Като доставчик на Rails имах привилегията да работя по множество проекти, където формите играят решаваща роля, и се вълнувам да споделя прозренията си с вас.

разбиранеформа_св Rails

Преди да се потопим в създаването на формуляр, нека отделим малко време, за да разберем каквоформа_се.форма_се помощен метод в Rails, който опростява процеса на създаване на HTML форми. Той предоставя гъвкав и интуитивен начин за генериране на формуляри, които са както семантично правилни, така и лесни за поддръжка. Независимо дали създавате прост формуляр за контакт или сложен многоетапен формуляр,форма_спокрихте ли.

Настройване на ново Rails приложение

Ако все още не сте го направили, ще трябва да настроите ново Rails приложение. Отворете вашия терминал и изпълнете следната команда:

релси нов simple_form_app cd simple_form_app

Това ще създаде ново Rails приложение с имеприложение за_проста_формаи ви навигира в директорията на приложението.

Генериране на контролер и изглед

След това ще генерираме контролер и изглед, за да управляваме нашата форма. Изпълнете следната команда във вашия терминал:

релси генерират контролер Forms new

Това ще генерира aFormsControllerс ановдействие и съответния файл за преглед наapp/views/forms/new.html.erb.

Създаване на формуляра с помощта наформа_с

Сега нека отворимapp/views/forms/new.html.erbфайл и създайте нашия формуляр, използвайкиформа_с. Ето пример за прост формуляр за контакт:

<%= form_with(url: "/submit_form", method: :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 "Изпращане" %> </div> <% end %>

В този пример използвамеформа_сза създаване на формуляр, който ще изпраща своите данни на/изпратете_формулярURL с помощта наПУБЛИКУВАНЕметод. В блока на формуляра използваме различни помощни методи за формуляр, за да създадем полета за въвеждане на име, имейл и съобщение на потребителя, както и бутон за изпращане.

49E2 Steel RailBS 100A Rail

Работа с подаването на формуляра

За да обработим подаването на формуляра, ще трябва да добавим маршрут и действие към нашияFormsController. Отворетеconfig/routes.rbфайл и добавете следния ред:

публикувайте '/submit_form', до: 'forms#submit'

Това ще картографира/изпратете_формулярURL къмподавамдействие вFormsController. Сега отворетеapp/controllers/forms_controller.rbфайл и добавете следното действие:

def submit # Тук можете да обработите данните от формуляра, например да ги запишете в базата данни name = params[:name] email = params[:email] message = params[:message] # Засега просто ще отпечатаме данните в конзолата puts "Name: #{name}" puts "Email: #{email}" puts "Message: #{message}" redirect_to root_path, забележка: 'Формулярът е изпратен успешно!' край

В това действие извличаме данните от формуляра отпараметрихеш и отпечатването му на конзолата. В приложение от реалния свят обикновено записвате данните в база данни или изпращате имейл. След като обработим данните от формуляра, ние пренасочваме потребителя към главния път със съобщение за успех.

Оформяне на формата

За да направим нашата форма да изглежда по-представително, можем да добавим някои CSS стилове. Отворетеapp/assets/stylesheets/application.cssфайл и добавете следните стилове:

форма div { margin-bottom: 10px; } form label { display: block; margin-bottom: 5px; } form input[type="text"], form input[type="email"], form textarea { width: 100%; подложка: 5px; рамка: 1px плътен #ccc; радиус на границата: 3px; } вход във форма[type="submit"] { background-color: #007BFF; цвят: бял; подложка: 10px 20px; граница: няма; радиус на границата: 3px; курсор: показалец; } форма input[type="submit"]:hover { background-color: #0056b3; }

Тези стилове ще придадат на формата ни чист и професионален вид.

Добавяне на проверка към формуляра

За да сме сигурни, че потребителят въвежда валидни данни, можем да добавим валидиране към нашия формуляр. В Rails можем да използваме валидации на ActiveRecord, за да валидираме данните, преди да ги запазим в базата данни. Тъй като обаче не използваме модел в този пример, можем да използваме JavaScript, за да извършим основно валидиране от страна на клиента. Ето пример за това как да добавим проверка към нашия формуляр с помощта на 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 message = document.querySelector('textarea[name="message"]').value; if (name === '' || message === '') { alert('Моля, попълнете всички полета'); event.preventDefault();

Този JavaScript код ще предотврати изпращането на формуляра, ако някое от задължителните полета е празно.

Заключение

Създаване на проста форма в Rails с помощта наформа_се ясен процес. Като следвате стъпките, описани в тази публикация в блога, можете да създадете функционален формуляр, който събира въведени от потребителите данни и обработва подаванията на формуляри. Като доставчик на Rails видях от първа ръка силата и гъвкавостта на Rails при изграждането на уеб приложения и се надявам това ръководство да ви е било полезно.

Ако се интересувате от закупуването на висококачествени релси за вашите проекти, ние предлагаме широка гама от опции, включителноСтандарт GOST KP140 Кранова релса,49E2 стоманена релса, иРелса BS 100A. Нашите релси са проектирани да отговарят на най-високите стандарти за качество и производителност и ние се ангажираме да предоставяме отлично обслужване на клиентите. Ако имате някакви въпроси или искате да обсъдите вашите изисквания, моля, не се колебайте да се свържете с нас за консултация относно обществената поръчка.

Референции

  • Ръководства за релси: https://guides.rubyonrails.org/
  • Мрежа за разработчици на Mozilla: https://developer.mozilla.org/