ActiveRecord 在 select 查询 Rails 中输出过多

ActiveRecord outputs too much in select query for Rails

根据:

@actors = actors.to_sql

这个查询:

actors = Actor.select("actors.name")

应该等于:

SELECT actors.name FROM `actors`

它在我的 SQL 中有效;只选择 actors.name ...所以我尝试:

@actors = actors.to_json.to_s

并在某些视图上渲染...我明白了;

[{"name":"James Patrick Pe","id":null,"logo":{"url":"uploads/default.jpg","topbar_avatar":{"url":"uploads/topbar_avatar_default.jpg"}}},{"name":"SSS","id":null,"logo":{"url":"uploads/default.jpg","topbar_avatar":{"url":"uploads/topbar_avatar_default.jpg"}}},{"name":"Philhealth","id":nul ....

它基本上是所有内容的 JSON...我只需要一个专栏来回复 AJAX。我如何使用 ActiveRecord 方式做到这一点?

你用回形针吗?您可能有一种方法可以将某些内容附加到您的 JSON.

您需要做的是指定要导出的字段。

@actors = actors.to_json(only: [:name]).to_s

另请注意,to_json 有更好的方法。您绝对应该拥有在输入中获取对象或集合并处理序列化的序列化程序。