在ActiveModel序列化器中,可以使用attributes
关键字来指定要在JSON中包含的属性。以下是一个示例解决方法:
# app/serializers/user_serializer.rb
class UserSerializer < ActiveModel::Serializer
attributes :id, :name, :email
end
在上面的示例中,我们创建了一个名为UserSerializer
的序列化器,并指定了要在JSON中包含的属性为id
、name
和email
。
然后,在控制器中使用该序列化器来序列化对象并生成JSON响应:
# app/controllers/users_controller.rb
class UsersController < ApplicationController
def show
user = User.find(params[:id])
render json: user, serializer: UserSerializer
end
end
在上面的示例中,我们使用UserSerializer
来序列化user
对象,并将其作为JSON响应返回。
当访问/users/1
时,将返回以下JSON响应:
{
"id": 1,
"name": "John Doe",
"email": "john@example.com"
}
这里的"attributes"
键是ActiveModel序列化器的默认行为,并且不需要显式地指定它。