在Rails的select查询中,ActiveRecord输出太多

时间:2015-12-04 15:11:59

标签: sql ruby-on-rails-4 select activerecord web-applications

根据:

@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方式做到这一点?

1 个答案:

答案 0 :(得分:0)

你使用Paperclip吗?很可能你有一个方法可以为你的JSON添加一些东西。

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

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

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