有没有办法用非标准订单来订购查询结果?

时间:2012-08-01 15:12:56

标签: ruby-on-rails ruby-on-rails-3

我的网站允许用户更改显示类别和类别的顺序,并将该顺序存储为数据库中的数组。所以我有:

@categories = Category.where("id IN (?)", current_user.order)

问题是顺序是[2,4,3,6,1],然后@categories有顺序[1,2,3,4,6]。 我想订购@categories,以便它与订单匹配。 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

将用户首选项存储在单独的表中,然后使用@categories

加入userOrderTable

答案 1 :(得分:0)

另一种方法可能是创建一个空数组并迭代类别:

@categories = []
current_user.order.each do |category_id|
 @categories << Category.find(category_id)
end