Bagaimana cara membuat pembantu di Rails?

Oct 14, 2025Tinggalkan pesan

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.

49E2 RailCR175 Railway Crane Rails

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.