【问题标题】:Rails: Sorting ActiveRecord with hyphensRails:使用连字符对 ActiveRecord 进行排序
【发布时间】:2015-03-25 05:53:23
【问题描述】:

朋友们,

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

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

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

会发生什么?

谢谢。

【问题讨论】:

  • 您是否尝试过定义使用正则表达式进行排序的范围?类似this.

标签: ruby-on-rails rails-activerecord


【解决方案1】:

我建议您创建另一个列,而不是使用这种方法。您可以使用名为 priority 的列和 0 作为默认值。

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

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

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

【讨论】:

  • 谢谢伙计,我结束了。
  • 不错!永远不要那样做;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
相关资源
最近更新 更多