Số 10, Ngõ 12, Khuất Duy Tiến, Nhân Chính, Thanh Xuân, TP Hà Nội
096 803 1388

Hướng dẫn sử dụng gem will_paginate trong Ruby on Rails

ruby

  1. 1. Giới thiệu về will_paginate

    Phân trang là một khía cạnh quan trọng của hầu hết các ứng dụng web. May mắn thay, trong Ruby on Rails, người dùng có thể dễ dàng phân trang dữ liệu của mình, bằng cách sử dụng một gem gọi là “will_paginate”.
    Hôm nay, mình sẽ hướng dẫn mọi người cài đặt gem “will_paginate” một các đơn giản và dễ hiểu nhất, từ đó giúp cho trang web của chúng ta bắt mắt và sinh động hơn.

    2. Hướng dẫn cài đặt

    Đầu tiên bạn tạo 1 project mới với câu lệnh:

    capture
    Mở project của bạn, thêm gem will_paginate vào trong file Gemfile với phiên bản phù hợp phiên bản Rails bạn đang dùng:

    capture

    cd vào thư mục project và chạy lệnh bundle install để download gem will_paginate về:

    capture

    Bây giờ chúng ta sẽ tạo một Model mới với tên “Student”

    capture

    Trong lúc chờ đợi, bạn hãy tạo một danh sách các Học sinh mà bạn có thể nhập vào ứng dụng của mình. Hãy viết nó trong db/seed.rb như thế này nhé:

    capture
    Tiếp theo, bạn phải chạy 2 lệnh sau để di chuyển và thêm dữ liệu và cơ sở dữ liệu của mình:
    capture
    capture

    Sau đó, chúng ta tạo một Controller cho Student, các bạn lưu ý Students là số nhiều nhé:

    capture

    Mở students_controller và sửa đổi như sau:

    capture

    Bạn tìm đến view, mở index.html.erb và thêm code như sau:
    capture

    Và bây giờ là bước quan trọng nhất, phân trang cho dữ liệu của chúng ta.
    Bạn sửa lại file students_controller như sau:

    capture
    Số 5 ở đây ý nói rằng mỗi trang của bạn chỉ có 5 Record thôi nhé. Nhưng bạn hoàn toàn có thể thay đổi để phù hợp theo ý muốn.
    Cuối cùng là sửa trong file index.html.erb:

    capture

    Khi đã có bộ dữ liệu đủ lớn, bạn hãy ghé thăm http://localhost:3000 để xem thành quả của mình nhé ^^

     

    3. Kết luận

    Như vậy chỉ với vài bước đơn giản như trên là chúng ta đã cài đặt xong và có thể sử dụng will_paginate bất cứ lúc nào!
    Chúc các bạn thành công 😀

— TRANGPT —

Để lại phản hồi