簡體   English   中英

如何通過多個值對索引頁面上的記錄進行排名?

[英]How can I rank records on the index page by multiple values?

我在我的應用程序中有一個場地表,它們顯示在場地索引頁面的部分區域,頂部和下降的平均評分最高的場地:

場館管制員

  def index
    if
      @venues = Venue.order("average_rating DESC").all
    else
      @venues = Venue.all
    end
    @venues = @venues.paginate :per_page => 15, :page => params[:page]
  end

我剛剛啟用了一些場地是免費的,有些場地是免費的:

venue.rb

  PLANS = %w[free premium]

場地edit.html.erb

  <%= f.collection_select :plan, Venue::PLANS, :to_s, :humanize %></p>

如何讓所有優質場地顯示在免費場地上方,即使他們的平均評分較低?

非常感謝任何幫助,非常感謝!

這樣的事情應該有效:

@venues = Venue.order("case plan when 'premium' then 1 else 0 end desc, average_rating DESC").all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM