在Rails 4.x中,我试图弄清楚如何直接从Postgres返回JSON,所以我没有返回一堆ActiveRecord对象(或哈希),然后我需要保存在内存中并序列化为JSON。由于Postgres现在可以原生地返回JSON,因此它似乎更适合编写JSON API。
在Postgres中,对于一个名为books的表,我会写如下内容:
select row_to_json(books) from books;
通常,在Rails中,我会执行类似Book.all
的操作来加载它们,但我想使用row_to_json
函数。我怎样才能做到这一点,而不只是手动编写我的SQL查询?
理想情况下,我会执行类似Book.all.rows_to_json
的操作来返回JSON字符串。
我不想做render json: @books
,因为这将使用内置的解析器,并在AR对象上加载所有内容。
1条答案
按热度按时间fzsnzjdm1#
我也喜欢快速端点,享受AR语法
比如
然后
控制器变成
如果模型的序列化器中有任何逻辑,则需要将其移植到SQL: