Sử dụng gem Ransack để search trong rails

153
Sử dụng gem Ransack để search trong rails

Giới thiệu

Mình xin giới thiệu về cách search bằng gem Ransack qua quá trình mà mình đã áp dụng vào project của bản thân và 1 số options được sử dụng

  Từ PHP nhảy sang code Ruby thì có gì vui?!

Sử dụng gem trong project

Đầu tiên ta thêm gem Ransack vào Gemfile:

Sau đó chạy

Ở đây mình có dữ liệu của 1 model user với các trường name, email, address,…

Sau khi cài đặt xong gem, ta vào model của User thêm scope

Tiếp theo ở Controller User ta có phương thức Index và search_params:

  Node.js và Ruby on Rails: Công nghệ nào phù hợp hơn?


Ở đây ta search theo user_name và email, trên Index hiển thị 5 bản ghi trên 1 trang.

Tiếp theo ở views/users/index.html.erb ta thêm:

Như vậy ta có thể search user qua user_name và email.

Các option

  • eq(equals): Trả về kết quả gồm tất cả bản ghi có giá trị chính xác bằng giá trị đã cho.
  • matches: Trả về kết quả gồm các bản ghi có giá trị giống với giá trị đã cho.
  • It(less than): Trả về kết quả gồm các bản ghi có giá trị nhỏ hơn giá trị đã cho.
  • in: Trả về kết quá gồm các bản ghi có giá trị nằm trong khoảng giá trị đã cho.
  • cont: Trả về kết quả gồm các bản ghi có giá trị chứa các giá trị đã cho.
  • start: Trả về kết quả gồm các bản ghi có giá trị bắt đầu là các giá trị đã cho.
  • end: Trả về kết quả gồm các bản ghi có giá trị kết thúc là các giá trị đã cho.

Và nhiều option khác.

TechTalk via viblo.asia

  Web framework là gì? Top 5 Web Framework tốt nhất【Java/Ruby/PHP/JS/CSS】
  Ruby Gem AASM - Giải quyết bài toán chuyển trạng thái phức tạp dễ như trở bàn tay
CHIA SẺ