ruby-on-rails - 将两个太阳黑子搜索与 OR 条件相结合
问题描述
如何将两个太阳黑子搜索条件与 OR 条件结合起来?我在这里试过↓但没有成功。
first_search_conditions = Proc.new do |s|
s.with(:store_id, 1)
end
second_search_conditions = Proc.new do |s|
s.with(:store_id, 2)
s.fulltext('hello') do |ft|
ft.fields(name_words: 90)
end
end
def search(first_block, second_block)
Sunspot.new_search(Offer) do |s|
s.any_of do |scope|
first_block.call(scope)
second_block.call(scope)
end
end
end
search(first_search_conditions, second_search_conditions)
解决方案
我不知道太阳黑子,但如果你有两个 procfirst_search_conditions
和second_search_conditions
,并且想要分离它们,你可以构造:
Proc.new do |s|
first_search_conditions.call(s) ||
second_search_conditions.call(s)
end
推荐阅读
- reactjs - 使用 expo react native 管理环境
- sql - PostgreSQL 检索重复的行记录
- string - 从日期时间列中减去 str 列
- javascript - 将数据正确绑定到 d3 中的饼图
- postgresql - Pg-promise 客户端无法从 ElephantSQL 云数据库中正确检索特殊字符
- python - 如何在python中编写多个替换?
- javascript - 让用户看到我预期的错误消息的最佳方法
- c++ - 使用捕获传递没有 std::function 的 Lambda 函数 [this]
- sql - 无效的表名取消嵌套
- sql - 获取与其他行中列的值相关的列值