Rails: 使用连字符对 ActiveRecord 进行排序

Rails: Sorting ActiveRecord with hyphens

朋友,

我有一个像这样的简单查询:

ContactForm.where(:is_active => true).order(:name => :asc)

但是我希望我的一条记录总是先出现,所以我在它前面加上几个连字符“--”,但是,order 子句并没有将该记录交换到第一位,实际上它仍然在中间,因为它不会有那些连字符。

会发生什么?

谢谢。

我建议您创建另一个专栏而不是使用该方法。您可以使用名为 priority 的列,默认为 0

add_column :contact_form, :priority, :integer, default: 0

然后,您可以使用此代码(假设您已使用 1 标记优先级记录):

ContactForm.where(:is_active => true).order(:priority, :name => :asc)