我有一个HTML表格,我在其中显示来自特定模型的数据,但我还在HTML表格中显示了一个不属于该模型的列。这个专栏经过一些计算(在这个计算中我使用了3-4个表)。我想在该列上提供排序和搜索功能。任何人都知道最好的方法是什么?
更新:
主要问题是如果我在该列上提供排序/搜索,那么我必须从数据库中获取所有记录以进行计算,这不是一个好主意。
答案 0 :(得分:1)
如果您正在寻找性能解决方案:只需在表格中添加新字段即可存储您的计算。
无论如何,如果不提取所有记录,就无法解决问题。
或者您可以使用JavaScript进行搜索和排序,但前提是项目不多。
答案 1 :(得分:0)
您可以对模型进行排序:
q_new.sort! { |x, y|
y.creation_date <=> x.creation_date
}
creation_date是模型的任何字段或方法。
答案 2 :(得分:0)
我会在模型上创建一个虚拟资源,其中包含Ruby代码中的分类器。假设sum
是您的虚拟财产。
def by_sum(options = {})
@items = self.class.find(options)
@items.sort! { |a,b| a.sum <=> b.sum }
end
在您的控制器中,您可以致电:
Item.by_sum({:where => "'foo' = 'bar'"})