我在 rails 3 站点上使用 meta_search gem,我发现由 meta_search 获取数据库模式中的 BLOB 字段生成的 select * 查询存在一些性能问题。我不愿意迁移底层架构来解决这个问题。有没有办法从 meta_search 生成的搜索查询中包含/排除某些字段?
问问题
230 次
1 回答
0
在 Rails Active Record 中定义查询返回哪些字段的机制是.select(...)
默认情况下是*
. 检查this SO answer以了解一种定义默认范围的方法,该范围包括除一个字段之外的所有内容。
然而,关于这一点的警告是,当您想要写入表时,您需要覆盖默认范围——一旦您使用.select
这些字段是只读的。
我使用meta_search的后继者 ransack ,考虑到它的作者 Ernie Miller 多么出色,很可能有一种内置的方法可以做到这一点:-)
当我第一次开始使用 Blob 时,它们似乎是个好主意……但是,呃,没那么多。
于 2012-11-07T22:16:19.657 回答