0

我有一个post和一个author模型。

author has_many :posts

现在我有author几个posts

有没有一种优雅的方法可以只获取posts' titles数组,而不是整个post对象?

author.posts因此,不仅仅是author.posts.only(:title)获得一系列标题。例如['post1','post2','post3']

.only(:title)语法来自 JSON 模块,在这种情况下不起作用,但可能有比迭代posts和推titles入新数组更优雅的东西。查询数据库的东西,例如select titles from posts where author_id = 23.

?

4

1 回答 1

5

利用pluck

author.posts.pluck(:title)

http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck

采摘(列名)

此方法旨在通过单个列执行选择作为直接 SQL 查询返回具有指定列名值的数组值与列具有相同的数据类型。

于 2012-07-22T19:42:44.400 回答