Сериализатор активной модели не работает должным образом - PullRequest
0 голосов
/ 11 марта 2020

У меня есть последовательный активный модельный сериализатор, но он не работает должным образом. gem 'active_model_serializers', '~> 0.10.x'

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

метод класса контроллера

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

И класс модели

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"
    }
}

Как Я получаю только идентификатор с сериализатором.

1 Ответ

1 голос
/ 11 марта 2020

Прямо сейчас вы не используете свой UserSerializer в вашем контроллере. Ваш метод показа должен быть таким, чтобы сериализовать свои данные.

def show
    user = User.find(params[:id]);
    render json:{status:'success', error:false, data:UserSerializer.new(user)},status: :ok
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...