2011-09-24 70 views
0

我在我的應用程序場館顯示哪些場館索引頁上的諧音與頂部的最高平均額定場地和下降的一個表:如何將索引頁上的記錄按多個值排序?

場館控制器

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> 

我怎樣才能使它所以所有的保費場館上方的自由場館顯示,即使他們有一個較低的平均評分?

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

回答

2

像這樣的東西應該工作:

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

非常感謝它的偉大工程! – Dave