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实现这一点?