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
有更好的方法。您绝对应该拥有在输入中获取对象或集合并处理序列化的序列化程序。
根据:
@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
有更好的方法。您绝对应该拥有在输入中获取对象或集合并处理序列化的序列化程序。