Web geliştirmenin dinamik dünyasında Ruby on Rails, web uygulamaları oluşturmak için güçlü ve etkili bir çerçeve olarak öne çıkıyor. Birçok web uygulamasının temel yönlerinden biri, formlar aracılığıyla kullanıcı girdilerini toplama yeteneğidir. Bu blog yazısında, Rails'de basit bir form oluşturma sürecinde size yol göstereceğim.form_withyardımcı. Bir Rails tedarikçisi olarak formların çok önemli bir rol oynadığı çok sayıda proje üzerinde çalışma ayrıcalığına sahip oldum ve görüşlerimi sizinle paylaşmaktan heyecan duyuyorum.
Anlamakform_withRaylarda
Bir form oluşturmaya başlamadan önce, bir dakikanızı ayırıp ne olduğunu anlayalım.form_withöyle.form_withRails'de HTML formları oluşturma sürecini kolaylaştıran yardımcı bir yöntemdir. Anlamsal olarak doğru ve bakımı kolay formlar oluşturmak için esnek ve sezgisel bir yol sağlar. İster basit bir iletişim formu, ister karmaşık, çok adımlı bir form oluşturuyor olun,form_withkorudun mu?
Yeni Bir Rails Uygulaması Kurma
Henüz yapmadıysanız yeni bir Rails uygulaması kurmanız gerekecektir. Terminalinizi açın ve aşağıdaki komutu çalıştırın:
raylar yeni simple_form_app cd'si simple_form_app
Bu, adında yeni bir Rails uygulaması yaratacaktır.simple_form_appve sizi uygulama dizinine yönlendirin.
Bir Denetleyici ve Görünüm Oluşturma
Daha sonra formumuzu yönetecek bir denetleyici ve görünüm oluşturacağız. Terminalinizde aşağıdaki komutu çalıştırın:
raylar yeni denetleyici formları oluşturur
Bu, birFormsControllerbir ileyenieylem ve karşılık gelen bir görünüm dosyasıapp/views/forms/new.html.erb.
Kullanarak Formu Oluşturmaform_with
Şimdi açalımapp/views/forms/new.html.erbdosyalayın ve formumuzu kullanarak oluşturunform_with. İşte basit bir iletişim formu örneği:
<%= form_with(url: "/submit_form", yöntem: :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 "Gönder" %> </div> <% end %>
Bu örnekte, şunu kullanıyoruz:form_withverilerini gönderecek bir form oluşturmak için/submit_formURL'yi kullanarakPOSTALAMAKYöntem. Form bloğunun içinde, kullanıcının adı, e-postası ve mesajı için giriş alanlarının yanı sıra bir gönder düğmesi oluşturmak için çeşitli form yardımcı yöntemleri kullanıyoruz.


Form Gönderimini İşleme
Form gönderimini gerçekleştirmek için, dosyamıza bir rota ve eylem eklememiz gerekecek.FormsController. Açconfig/routes.rbdosyalayın ve aşağıdaki satırı ekleyin:
'/submit_form'u gönder, şuraya: 'forms#submit'
Bu haritayı oluşturacak/submit_formURL'sigöndermekeylemFormsController. Şimdi açapp/controllers/forms_controller.rbDosyayı açın ve aşağıdaki eylemi ekleyin:
def submit # Burada form verilerini işleyebilirsiniz, örneğin, veritabanına kaydedin name = params[:name] email = params[:email] message = params[:message] # Şimdilik, verileri yalnızca konsola yazdıracağız puts "Name: #{name}" puts "Email: #{email}" puts "Message: #{message}" yönlendirme_to root_path, notice: 'Form başarıyla gönderildi!' son
Bu eylemde form verilerini şu adresten alıyoruz:parametrelerkarma ve konsola yazdırma. Gerçek dünyadaki bir uygulamada, verileri genellikle bir veritabanına kaydeder veya bir e-posta gönderirsiniz. Form verilerini işledikten sonra başarı mesajıyla kullanıcıyı root yoluna yönlendiriyoruz.
Formu Şekillendirme
Formumuzun daha şık görünmesini sağlamak için bazı CSS stilleri ekleyebiliriz. Açapp/assets/stylesheets/application.cssdosyanızı oluşturun ve aşağıdaki stilleri ekleyin:
form div { kenar boşluğu alt: 10 piksel; } form etiketi { görüntü: blok; kenar boşluğu alt: 5 piksel; } form girişi[type='metin'], form girişi[tip='email'], form textarea { genişlik: 100%; dolgu: 5 piksel; kenarlık: 1 piksel katı #ccc; kenarlık yarıçapı: 3px; } form girişi[type="gönder"] { arka plan rengi: #007BFF; renk: beyaz; dolgu: 10 piksel 20 piksel; sınır: yok; kenarlık yarıçapı: 3px; imleç: işaretçi; } form girişi[type="gönder"]:hover { arka plan rengi: #0056b3; }
Bu stiller formumuza temiz ve profesyonel bir görünüm kazandıracaktır.
Forma Doğrulama Ekleme
Kullanıcının geçerli veri girdiğinden emin olmak için formumuza doğrulama ekleyebiliriz. Rails'de verileri veritabanına kaydetmeden önce doğrulamak için ActiveRecord doğrulamalarını kullanabiliriz. Ancak bu örnekte bir model kullanmadığımız için istemci tarafında temel doğrulamayı gerçekleştirmek için JavaScript'i kullanabiliriz. JavaScript kullanarak formumuza doğrulamanın nasıl ekleneceğine dair bir örnek:
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 mesaj = document.querySelector('textarea[name="message"]').value; if (name === '' || e-posta === '' || mesaj === '') { warning('Lütfen tüm alanları doldurun'); event.preventDefault();
Bu JavaScript kodu, gerekli alanlardan herhangi birinin boş olması durumunda formun gönderilmesini engelleyecektir.
Çözüm
Rails kullanarak basit bir form oluşturmaform_withbasit bir süreçtir. Bu blog yazısında özetlenen adımları izleyerek kullanıcı girdilerini toplayan ve form gönderimlerini işleyen işlevsel bir form oluşturabilirsiniz. Bir Rails tedarikçisi olarak, web uygulamaları oluşturmada Rails'in gücünü ve esnekliğini ilk elden gördüm ve bu kılavuzun size yardımcı olacağını umuyorum.
Projeleriniz için yüksek kaliteli raylar satın almakla ilgileniyorsanız, geniş bir seçenek yelpazesi sunuyoruz.GOST Standardı KP140 Vinç Rayı,49E2 Çelik Ray, VeBS 100A Ray. Raylarımız en yüksek kalite ve performans standartlarını karşılayacak şekilde tasarlanmıştır ve mükemmel müşteri hizmeti sunmaya kendimizi adadık. Herhangi bir sorunuz varsa veya gereksinimlerinizi tartışmak istiyorsanız, lütfen satın alma danışmanlığı için bizimle iletişime geçmekten çekinmeyin.
Referanslar
- Ray Kılavuzları: https://guides.rubyonrails.org/
- Mozilla Geliştirici Ağı: https://developer.mozilla.org/
