友
我有一个像这样的简单查询:
ContactForm.where(:is_active => true).order(:name => :asc)
但是我希望我的一条记录始终首先显示,所以我用一对连字符作为前缀" - "但是,order子句不会将该记录交换到第一位,事实上它还处于中间位置,因为它不会有那些连字符。
可能会发生什么?
谢谢。
答案 0 :(得分:2)
我建议您创建另一个列而不是使用该方法。您可以使用名为priority
的列,默认为0
。
add_column :contact_form, :priority, :integer, default: 0
然后,您可以使用此代码(假设您已使用1
标记了优先级记录):
ContactForm.where(:is_active => true).order(:priority, :name => :asc)