Ruby on rails 在API中显示资源

Ruby on rails 在API中显示资源,ruby-on-rails,ruby,api,grape,presenter,Ruby On Rails,Ruby,Api,Grape,Presenter,我正在准备Rails5API,我有一些GET端点,它们除了向最终用户提供资源之外什么都不做 如何限制用户可以看到的内容。假设我有一个表Books,有title和author列,我想让最终用户得到他的书,有title和author,但我不想给他像id或时间戳这样的东西。是否有一种现有的解决方案类似于grape通过present()和grape::Entity类提供的解决方案?最干净的方法是使用序列化程序 # app/serializers/book_serializer.rb class Book

我正在准备Rails5API,我有一些GET端点,它们除了向最终用户提供资源之外什么都不做


如何限制用户可以看到的内容。假设我有一个表
Books
,有
title
author
列,我想让最终用户得到他的
书,有
title
author
,但我不想给他像id或时间戳这样的东西。是否有一种现有的解决方案类似于grape通过
present()
grape::Entity
类提供的解决方案?

最干净的方法是使用序列化程序

# app/serializers/book_serializer.rb
class BookSerializer < ActiveModel::Serializer
  attributes :title, :author
end
def show
  book = Book.find(params[:id])
  render json: book, serializer: BookSerializer
end