如何在客户端数组上查询.where

时间:2017-02-01 13:44:10

标签: ruby-on-rails arrays ruby-on-rails-4 ruby-on-rails-5 active-relation

使用Rails 5.

我有一个有序的客户端数组。我不可能从中获得AR,这是我获得这些客户的唯一方式。

我想只显示满足特定条件的客户。 .where(category_id:1),但由于这不是AR,我无法在客户端数组上运行.where(category_id:1)。

我如何实现这一目标?有范围?但具体怎么样?这仍然在Rails 5中使用吗?

我基本上处于与此问题中第二大投票相同的情况,基本上我与我的客户有一个数组: ActiveRecord.find(array_of_ids), preserving order(无法让其他建议在关于将我的阵列变成AR的线程中起作用)

无论如何,我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

我会迭代数组并将值保存在.where(category_id: )

可以访问的变量中
array = [1,2,3,4,5,6,7]

array.each do |a|

  if xyz.where("category_id (?)", a) == true
   do something here
  end

end

现在应该可以使用像xyz.where("category_id (?)", a)这样的东西。