活动模型序列化程序未按预期工作
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
我有以下活动模型序列化程序,但没有按预期工作。
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