如何在序列化器中获取模型的所有对象?

时间:2017-03-06 17:23:15

标签: ruby-on-rails ruby-on-rails-4 active-model-serializers

我正在使用ActiveModelSerializer作为Rails API。在索引操作中的某个控制器上,我需要显示类 Book 的所有现有对象。

def index
  render json: { books: Book.all }
end

但我认为这不是正确的方法。为了遵循惯例,我需要使用序列化器。所以我的问题是如何使用序列化器实现这一点,所以我可以写这样的东西?

def index
  render json: { books: BookSerializer }
end

谢谢。

1 个答案:

答案 0 :(得分:1)

这应该有效

def index
  books = Book.all
  render json: books, each_serializer: BookSerializer, root: books
end

P.S。请注意,尽管渲染所有书籍都会很慢。最好添加分页