Hai! Saya bagian dari pemasok Rails, dan saya bersemangat untuk berbagi dengan Anda cara membuat helper di Rails. Ini adalah alat bagus yang dapat membuat pengembangan Rails Anda jauh lebih mudah dan efisien. Jadi, mari selami!
Apa itu Rails Helper?
Pertama, mari kita pahami apa itu pembantu Rails. Singkatnya, helper di Rails adalah cara untuk berbagi kode di berbagai bagian aplikasi Anda. Mereka seperti fungsi utilitas kecil yang dapat Anda gunakan dalam tampilan, pengontrol, dan bahkan pembantu lainnya. Anggap saja mereka sebagai sahabat karib Anda yang membantu Anda menjaga kode Anda KERING (Jangan Ulangi Sendiri).
Misalnya, Anda memiliki banyak tampilan yang perlu menampilkan tanggal yang diformat. Daripada menulis kode pemformatan tanggal di setiap tampilan, Anda bisa membuat metode pembantu yang melakukannya untuk Anda. Kemudian, Anda bisa memanggil metode itu dalam tampilan Anda kapan pun Anda perlu menampilkan tanggal yang diformat.
Menciptakan Pembantu Pertama Anda
Oke, jadi bagaimana cara membuat helper di Rails? Ini cukup mudah. Rails dilengkapi dengan generator bawaan yang membuatnya mudah.
Buka terminal Anda dan navigasikan ke direktori aplikasi Rails Anda. Kemudian, jalankan perintah berikut:
rails menghasilkan pembantu MyHelper
Perintah ini akan membuat file pembantu baru diaplikasi/pembantudirektori bernamamy_helper.rb. Buka file ini di editor teks favorit Anda, dan Anda akan melihat sesuatu seperti ini:
module MyHelper # Tambahkan metode pembantu di sini akhir
Ini adalah struktur dasar dari pembantu Rails. Ini hanyalah modul Ruby dengan metode yang dapat Anda tentukan. Mari tambahkan metode sederhana ke pembantu kita. Misalkan kita ingin membuat metode yang mengembalikan pesan selamat datang.
module MyHelper def Welcome_message "Selamat datang di aplikasi Rails kami yang luar biasa!" akhir akhir
Itu saja! Kami telah membuat metode pembantu pertama kami. Sekarang, bagaimana kita menggunakannya?
Menggunakan Pembantu Anda di Tampilan
Menggunakan metode pembantu dalam tampilan sangatlah mudah. Katakanlah kita memiliki file tampilanapp/views/welcome/index.html.erb. Dalam file ini, kita dapat memanggil milik kitaselamat datang_pesanmetode seperti ini:
<h1><%= pesan_selamat datang %></h1>
Saat tampilan ini dirender, ia akan menampilkan pesan selamat datang yang kami definisikan dalam metode pembantu kami.
Metode Pembantu untuk Memformat
Helper juga bagus untuk memformat data. Katakanlah kita sedang mengerjakan beberapa produk rel yang kami suplai, sepertiRel 49E2. Kami mungkin ingin menampilkan nama produk dengan format yang bagus.
Mari buat metode pembantu untuk itu.
modul ProductHelper def format_nama_produk(nama_produk) nama_produk.upcase.gsub("_", " ") akhir akhir
Sekarang, dalam tampilan tempat kami menampilkan informasi produk, kita dapat menggunakan metode ini.
<p><%= format_product_name("49E2_Rail") %></p>
Ini akan menampilkan nama produk dalam huruf besar dengan garis bawah diganti dengan spasi.
Bekerja dengan Banyak Pembantu
Anda dapat memiliki banyak pembantu di aplikasi Rails Anda, dan Anda dapat menggunakannya di berbagai bagian aplikasi Anda. Misalnya, Anda mungkin memilikiPembantu Penggunauntuk menangani pemformatan terkait pengguna dan aPembantu Produkuntuk menangani tugas terkait produk.
Jika Anda ingin menggunakan pembantu tertentu di pengontrol, Anda bisa memasukkannya seperti ini:
class ProductsController < ApplicationController helper ProductHelper def indeks # Logika pengontrol di sini berakhir
Ini akan membuat semua metode diPembantu Produktersedia dalam tampilan yang terkait denganPengontrol Produk.
Metode Pembantu untuk Rendering Bersyarat
Helper juga berguna untuk rendering bersyarat. Katakanlah kita ingin menampilkan pesan yang berbeda berdasarkan apakah suatu produk tersedia atau tidak.
module StockHelper def stock_message(in_stock) if in_stock "Produk ini tersedia dan siap dikirim!" else "Maaf, stok produk ini habis." akhir akhir akhir
Menurut pandangan kami, kami dapat menggunakan metode ini seperti ini:
<p><%= pesan_stok(@produk.dalam_stok) %></p>
Di Sini,@produk.dalam stokadalah nilai boolean yang menunjukkan apakah produk tersebut tersedia atau tidak.
Menggunakan Helper dengan Rails Forms
Helper juga dapat digunakan untuk menyederhanakan pekerjaan dengan formulir Rails. Misalnya, kita membuat formulir untuk menambahkan formulir baruRel Derek Kereta Api CR175ke inventaris kami.


Kita dapat membuat metode pembantu untuk menghasilkan label untuk bidang formulir.
modul FormHelper def custom_label(form, field) form.label field, kelas: "custom - label" end end
Dalam tampilan formulir kami, kami dapat menggunakan metode pembantu seperti ini:
<%= form_for @produk lakukan |f| %> <%= custom_label(f, :name) %> <%= f.text_field :name %> <!-- Bidang formulir lainnya --> <% end %>
Ini akan menghasilkan label dengan kelas khusus untuk bidang formulir kita.
Menguji Pembantu Anda
Penting untuk menguji metode pembantu Anda untuk memastikan metode tersebut berfungsi seperti yang diharapkan. Rails menggunakan kerangka MiniTest untuk pengujian secara default.
Untuk menguji kamiselamat datang_pesanmetode diPembantu saya, kita dapat membuat file pengujian dites/pembantudirektori bernamamy_helper_test.rb.
memerlukan kelas "test_helper" MyHelperTest < ActionView::TestCase test "pesan selamat datang harus mengembalikan string yang benar" lakukan menegaskan_equal "Selamat datang di aplikasi Rails kami yang luar biasa!", selamat datang_message akhir akhir
Jalankan pengujian Anda menggunakantes relperintah di terminal, dan Anda akan melihat apakah metode pembantu Anda lulus ujian.
Kesimpulan
Membuat dan menggunakan helper di Rails adalah cara ampuh untuk menjaga kode Anda tetap teratur dan dapat digunakan kembali. Baik Anda menangani pemformatan, rendering bersyarat, atau penanganan formulir, helper dapat membuat hidup Anda jauh lebih mudah.
Sebagai pemasok Rails, kami telah melihat secara langsung bagaimana penggunaan helper dapat menyederhanakan proses pengembangan dan membuatnya lebih efisien. Jika Anda tertarik untuk membeli rel berkualitas tinggi kami sepertiRel 49E2,Rel Derek Kereta Api CR175, atauRel ASCE 60LB, kami ingin ngobrol dengan Anda. Hubungi kami untuk memulai diskusi pengadaan dan melihat bagaimana produk kami dapat disesuaikan dengan proyek Anda.
Referensi
- Rails Guides: Dokumentasi resmi Rails adalah sumber yang bagus untuk mempelajari lebih lanjut tentang pembantu Rails dan aspek lain dari pengembangan Rails.
- Agile Web Development with Rails: Buku komprehensif yang membahas pengembangan Rails secara mendalam.
