Dalam dunia pembangunan web yang dinamik, Ruby on Rails menonjol sebagai rangka kerja yang berkuasa dan cekap untuk membina aplikasi web. Salah satu aspek asas bagi banyak aplikasi web ialah keupayaan untuk mengumpul input pengguna melalui borang. Dalam catatan blog ini, saya akan membimbing anda melalui proses mencipta borang mudah dalam Rails menggunakanborang_denganpenolong. Sebagai pembekal Rails, saya mempunyai keistimewaan untuk mengusahakan banyak projek di mana borang memainkan peranan penting, dan saya teruja untuk berkongsi pandangan saya dengan anda.
Kefahamanborang_dengandalam Rails
Sebelum kita menyelami membuat borang, mari luangkan masa untuk memahami apaborang_denganialah.borang_denganialah kaedah pembantu dalam Rails yang memudahkan proses mencipta borang HTML. Ia menyediakan cara yang fleksibel dan intuitif untuk menjana borang yang betul dari segi semantik dan mudah diselenggara. Sama ada anda mencipta borang hubungan mudah atau borang berbilang langkah yang kompleks,borang_denganadakah anda dilindungi.
Menyediakan Aplikasi Rel Baharu
Jika anda belum berbuat demikian, anda perlu menyediakan aplikasi Rails baharu. Buka terminal anda dan jalankan arahan berikut:
rails new_simple_form_app cd simple_form_app
Ini akan mencipta aplikasi Rails baharu bernamaapl_bentuk_mudahdan menavigasi anda ke dalam direktori aplikasi.
Menjana Pengawal dan Pandangan
Seterusnya, kami akan menjana pengawal dan pandangan untuk mengendalikan borang kami. Jalankan arahan berikut di terminal anda:
rel menjana pengawal Borang baru
Ini akan menjana aPengawal Borangdengan abarutindakan dan fail paparan yang sepadan diapp/views/forms/new.html.erb.
Mencipta Borang Menggunakanborang_dengan
Sekarang, mari kita bukaapp/views/forms/new.html.erbfail dan buat borang kami menggunakanborang_dengan. Berikut ialah contoh borang hubungan mudah:
<%= form_with(url: "/submit_form", kaedah: :post) lakukan |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_a> form.submit "Submit" %> </div> <% end %>
Dalam contoh ini, kami menggunakanborang_denganuntuk membuat borang yang akan menyerahkan datanya kepada/serahkan_borangURL menggunakanPOSkaedah. Di dalam blok borang, kami menggunakan pelbagai kaedah pembantu borang untuk mencipta medan input untuk nama pengguna, e-mel dan mesej, serta butang hantar.


Mengendalikan Penyerahan Borang
Untuk mengendalikan penyerahan borang, kami perlu menambah laluan dan tindakan pada kamiPengawal Borang. Bukaconfig/routes.rbfail dan tambah baris berikut:
siarkan '/submit_form', kepada: 'forms#submit'
Ini akan memetakan/serahkan_borangURL keserahkantindakan dalamPengawal Borang. Sekarang, bukaapp/controllers/forms_controller.rbfail dan tambah tindakan berikut:
def submit # Di sini anda boleh memproses data borang, contohnya, simpan ke nama pangkalan data = params[:name] e-mel = params[:email] message = params[:message] # Buat masa ini, kami hanya akan mencetak data ke konsol meletakkan "Nama: #{name}" meletakkan "E-mel: #{email}" meletakkan "Mesej: #{message:'m berjaya dihantar! tamat
Dalam tindakan ini, kami mendapatkan semula data borang daripadaparamscincang dan mencetaknya ke konsol. Dalam aplikasi dunia sebenar, anda biasanya akan menyimpan data ke pangkalan data atau menghantar e-mel. Selepas memproses data borang, kami mengubah hala pengguna ke laluan akar dengan mesej kejayaan.
Menggayakan Borang
Untuk menjadikan borang kami kelihatan lebih menarik, kami boleh menambah beberapa gaya CSS. Bukaapp/assets/stylesheets/application.cssfail dan tambah gaya berikut:
bentuk div { margin-bottom: 10px; } label borang { paparan: blok; jidar bawah: 5px; } input borang[type="text"], input form[type="email"], form textarea { lebar: 100%; padding: 5px; sempadan: 1px pepejal #ccc; jejari sempadan: 3px; } input borang[type="submit"] { background-color: #007BFF; warna: putih; padding: 10px 20px; sempadan: tiada; jejari sempadan: 3px; kursor: penunjuk; } input borang[type="submit"]:hover { background-color: #0056b3; }
Gaya ini akan memberikan bentuk kami rupa yang bersih dan profesional.
Menambah Pengesahan pada Borang
Untuk memastikan pengguna memasukkan data yang sah, kami boleh menambah pengesahan pada borang kami. Dalam Rails, kita boleh menggunakan pengesahan ActiveRecord untuk mengesahkan data sebelum menyimpannya ke pangkalan data. Walau bagaimanapun, memandangkan kami tidak menggunakan model dalam contoh ini, kami boleh menggunakan JavaScript untuk melaksanakan pengesahan asas pada bahagian klien. Berikut ialah contoh cara menambah pengesahan pada borang kami menggunakan 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.querySelectorSelector'). document.querySelector('textarea[name="message"]').nilai; jika (nama === '' || e-mel === '' || mesej === '') { alert('Sila isikan semua medan');
Kod JavaScript ini akan menghalang borang daripada diserahkan jika mana-mana medan yang diperlukan kosong.
Kesimpulan
Mencipta borang mudah dalam Rails menggunakanborang_denganadalah satu proses yang mudah. Dengan mengikut langkah yang digariskan dalam catatan blog ini, anda boleh membuat borang berfungsi yang mengumpulkan input pengguna dan mengendalikan penyerahan borang. Sebagai pembekal Rails, saya telah melihat sendiri kuasa dan fleksibiliti Rails dalam membina aplikasi web, dan saya harap panduan ini telah membantu anda.
Jika anda berminat untuk membeli rel berkualiti tinggi untuk projek anda, kami menawarkan pelbagai pilihan, termasukRel Kren KP140 Standard GOST,49E2 Rel Keluli, danRel BS 100A. Rel kami direka untuk memenuhi standard kualiti dan prestasi tertinggi, dan kami komited untuk menyediakan perkhidmatan pelanggan yang cemerlang. Jika anda mempunyai sebarang soalan atau ingin membincangkan keperluan anda, sila jangan teragak-agak untuk menghubungi kami untuk perundingan perolehan.
Rujukan
- Panduan Rel: https://guides.rubyonrails.org/
- Rangkaian Pembangun Mozilla: https://developer.mozilla.org/
