【发布时间】:2015-06-23 10:14:15
【问题描述】:
我有一个搜索表单,它以随机顺序返回一个 id 数组,具体取决于搜索中哪个元素有更多关键字。在索引中,它们按最小 id 排序。
例如:
def search
ids = [13,8,2,4,7]
items.where("id in ?", ids)
end
在我的控制器的索引操作中,我有类似的东西
@items = Items.search
但项目在索引表中仍以[2,4,7,8,13] 之类的顺序显示。
如何按照我在搜索功能中查询的顺序显示项目?
【问题讨论】:
-
在不了解您的结构的情况下,我会在您的数据库表中添加另一列 items_id。我相信 :id 总是会按顺序出现,而 :items_id 可能会有所不同。
-
是的,我还想添加该列,但您知道吗?必须有一种方法可以按我查询它们的顺序获取这些项目...但是如果我找不到方法,我将不得不创建该列
-
该模型上是否有任何
default_scope声明? -
问题是它以确切的顺序查找它们,但按顺序返回项目我不知道为什么,我认为这与我不知道的查询的“in”子句有关'不知道....而且我不认为有一个 default_scope,但是我又是一个超级新手,所以我不知道
标签: ruby-on-rails ruby ruby-on-rails-4 indexing scaffold