Ransack 

 adalah gem Ruby yang memungkinkan pencarian dan pemfilteran data pada model Active Record dengan sangat fleksibel dan mudah. Ini sangat berguna dalam aplikasi Ruby on Rails yang membutuhkan fitur pencarian atau penyaringan data berdasarkan kolom tertentu.

pertama kita harus memasukan gem ‘ransack’ pada Gemfile

gem 'ransack', '~> 4.2.1'

langkah selanjutnya kita harus membuat controller , contohnya Class User seperti dibawah

class UsersController < ApplicationController
  def index 
    @q = User.ransack(params[:q])
    @users = @q.result(distinct: true)
  end
end

setelah itu, kita harus buat tampilan di app/views/users/index.html.erb seperti contoh dibawah :

<%= search_form_for @q, url: users_path, method: :get do |f| %>
  

<%= f.label :name_cont, "Nama" %><%= f.search_field :name_cont %>

<%= f.label :age_cont, "Usia" %><%= f.search_field :age_cont %>

<%= f.label :email_cont, "Email" %><%= f.search_field :email_cont %>

<%= f.submit "Cari" %><% end %>

masukan juga routes untuk /users di config/routes.rb

resources :users

Pada models user.rb, kita harus definisikan bahwa field yang ada dalam class model User di set self.ransackable_attributes , contohnya seperti ini


class User < ApplicationRecord
  def self.ransackable_attributes(auth_object = nil)
    ["age", "created_at", "email", "id", "name", "updated_at"]
  end
end

Berikut hasil nya :

Berita Terkini

Berita Terbaru

Daftar Terbaru

News

Jasa Impor China

Berita Terbaru

Flash News

RuangJP

Pemilu

Berita Terkini

Prediksi Bola

Technology

Otomotif

Berita Terbaru

Teknologi

Berita terkini

Berita Pemilu

Berita Teknologi

Hiburan

master Slote

Berita Terkini

Pendidikan

Resep

Jasa Backlink

Slot gacor terpercaya

Anime Batch