【发布时间】:2015-12-20 22:05:05
【问题描述】:
我有一个具有num_likes 和num_views 属性的模型。
以下将用于订购它们
@models = Model.all ## this may not be "all" so I dont want to use scope
@models.order({'num_likes': 'desc'})
如果我定义了方法
def like_pct
num_likes / num_views
end
然后 jQuery DT 没有正确排序,因为它不在数据库中。
我怎样才能按这个属性订购?
这是实际的控制器代码:
@pages = some_filtered_pages_collection
# Sort based on requested column
params[:order].each do |i, order|
column = order[:column]
sort_column = params[:columns][column][:data] # This is the attr name being sorted
sort_order = order[:dir] # asc or desc
@pages = @pages.order([[sort_column, sort_order]].to_h)
end
【问题讨论】: