2012-12-12 36 views
5

Tôi đang cố gắng thực hiện tìm kiếm, sắp xếp các kết quả ngẫu nhiên và chỉ trả về một số kết quả chứ không phải tất cả các kết quả phù hợp. Một cái gì đó như giới hạn (2) Tôi đã thử bằng cách sử dụng Solr param 'hàng' nhưng điều đó dường như không làm bất cứ điều gì:rails tìm kiếm giới hạn tổng số kết quả tìm kiếm/nhận được số kết quả cố định

@featured_articles = Article.search do 
    with(:is_featured, true) 
    order_by :random 
    adjust_solr_params do |params| 
    params[:rows] = 2 
    end 
end 

@ featured_articles.total Phải là 2, nhưng nó sẽ trả về hơn 2

Làm cách nào để có được số kết quả cố định ngẫu nhiên?

Trả lời

0

Tất cả các ví dụ ruby ​​..

@featured_articles = Article.search do 
    with(:is_featured, true) 
    order_by :random 
end.shuffle.take(2) 

Nếu bạn không cần Solr, tùy thuộc trên db của bạn, bạn cũng có thể làm: Article.where(is_featured: true).order("RANDOM()").limit(2)

Các vấn đề liên quan