Tôi đang cố gắng phân trang truy vấn ActiveRecord bị xáo trộn. Cú pháp để thực hiện điều này bằng cách sử dụng đá quý Kaminari là:Phân trang truy vấn ActiveRecord bị xáo trộn
@users = Kaminari.paginate_array(User.all.shuffle).page(params[:page]).per(20)
Vấn đề với điều này là User.all
được tái xáo trộn trên mỗi yêu cầu pagination, khiến hồ sơ trùng lặp được gọi. Có cách nào để ngăn chặn loại trùng lặp này không?
Gọi 'User.all' có thể khiến máy chủ của bạn chậm lại đáng kể. Ngay cả khi bạn chỉ có 100 người dùng, bạn sẽ phải trả chi phí không cần thiết để đưa tất cả người dùng vào không gian bộ nhớ ruby trong mọi yêu cầu. –