我的应用程序中有一个场地表,这些场地显示在场地索引页面的部分位置,顶部和下降的平均场地最高:
场地管制员
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>
我怎样才能让所有优质场地都显示在免费场地上方,即使它们的平均评分较低?
非常感谢任何帮助,非常感谢!
答案 0 :(得分:2)
这样的事情应该有效:
@venues = Venue.order("case plan when 'premium' then 1 else 0 end desc, average_rating DESC").all