活动模型序列化程序未按预期工作

Active Model Serializer not working as expected

我有以下活动模型序列化程序,但没有按预期工作。 gem 'active_model_serializers', '~> 0.10.x'

class UserSerializer < ActiveModel::Serializer
  attributes :id
  has_many :task
end

控制器class方法

def show
    user = User.find(params[:id]);
    render json:{status:'success', error:false, data:user},status: :ok
end

和型号class

class User < ApplicationRecord

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
end

这给出了输出

{
    "status": "success",
    "error": false,
    "data": {
        "id": 2,
        "full_name": "sohail ahmad",
        "email": "sohail1@gmail.com",
        "created_at": "2020-03-10T05:41:42.045Z",
        "updated_at": "2020-03-10T05:41:42.045Z"
    }
}

我如何使用序列化程序只获取 Id。

现在您没有在控制器中使用 UserSerializer。您的 show 方法应该是这样的,以便序列化其数据。

def show
    user = User.find(params[:id]);
    render json:{status:'success', error:false, data:UserSerializer.new(user)},status: :ok
end