Ruby on rails ActiveRecord:查询一个模型,该模型的哈希值由“连接”;或;而不是",;及;

Ruby on rails ActiveRecord:查询一个模型,该模型的哈希值由“连接”;或;而不是",;及;,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,说我有一个像这样的杂烩 attributes = {"brown" => true, "black" => false, "rocky" => true, "pebbles" => false, "beige" => true, "white" => false, "red" => true, "pink" => "true" } 我有一个模型Beach,我想在那里查询散列中的属性 Beach.where(attributes) 我相信这会将散

说我有一个像这样的杂烩

attributes = {"brown" => true, "black" => false, "rocky" => true, "pebbles" => false, "beige" => true, "white" => false, "red" => true, "pink" => "true" }
我有一个模型
Beach
,我想在那里查询散列中的属性

Beach.where(attributes)
我相信这会将散列属性与
子句连接起来
brown为true,black为false,rocky=true。


我需要将hash属性与
条件
brown为真或black为假或rocky为真
连接起来。有什么想法吗?谢谢大家!

看一看:不确定这是否准确地回答了我的问题,我在where子句中有一个“attributes”散列,其中包含我想与“OR”合并的可变数量的属性。它不完全回答您的问题,因此我没有将其作为答案发布:)我提到的文章提供了足够的信息来解决您的问题,除非你懒得去尝试。
arel
可以做到。我让它执行类似的查询。您需要获得一个Arel表,组装一个条件数组,并将它们注入
:或
。对不起,在手机上键入代码不是很方便。我不想安装任何新的东西,比如
arel
。有没有人可以用纯Ruby/Rails实现这一点?