如何在postgres中通过json列查询带有rom-sql的记录?

How to query records with rom-sql by json column in postgres?

有一个 table 和包含一些数组的 jsonb 列, select 包含带有 rom-sql 的特定标签的记录的最佳方法是什么?

查询示例。 https://www.db-fiddle.com/f/u4CFkUUpnHZj67j1RJ5YRe/0

CREATE TABLE posts (
  id INT,
  tags JSONB
);
INSERT INTO posts (id, tags) VALUES (1, '["cats", "dogs"]');
INSERT INTO posts (id, tags) VALUES (2, '["dogs"]');

SELECT * FROM posts WHERE tags @> '["cats"]';

那么,如何使用 rom-sql 构建此查询?

就像posts.where { tags.contain(['cats']) }一样简单。这些方法获得 YARD 存在一些问题,因为我们有点太创新了。无论如何,当前支持的 methods/operators 的整个列表是 on Github.