Ruby on Rails / Active Record:自定义排序顺序

时间:2015-06-02 01:03:44

标签: ruby-on-rails activerecord

我有一个可以按日期或名称排序的查询。

我还有一个URL参数,它是特定记录的ID。我需要将此记录移至列表顶部,但保持其余部分不变。

例如:

如果param = 2,则返回[2,1,3,4,5,6,7,8]

如果param = 5,则返回[5,1,2,3,4,6,7,8]

如果param = 7,则返回[7,1,2,3,4,5,6,8]

......等等。

我知道如何使用数组,但我可以使用Active Record吗?因为我之后需要做分页等。

谢谢!

1 个答案:

答案 0 :(得分:2)

Foo.order "id = #{param[:param].to_i} desc", :name

我使用.to_i只是一种非常简单的方法来确保这个参数是干净的,确保你这样做,但是你需要这样做,这样你就不会让自己开放SQL注入。