Я использую active_model_serializers
gem для отправки ответа как JSON
.Я извлекаю данные из моделей ассоциации, но как получить только те данные из таблицы questions
, где UserType
равно clients.UserType
.
ClientSerializer
:
class ClientSerializer < ActiveModel::Serializer
attributes :id, :username, :access_token, :UserType
has_many :questions, include: :all
end
и QuestionSerializer
:
class QuestionSerializer < ActiveModel::Serializer
attributes :id, :question, :client_id, :UserType
belongs_to :user
end
здесь вывод: JSON
:
{
"id": 4,
"username": "171fdkjgku",
"access_token": "77NVccAJG7hEKSGQUcKkSip5",
"UserType": 1,
"questions": [
{
"id": 1,
"question": "Lorem Ipsum",
"client_id": 4,
"UserType": 1
},
{
"id": 2,
"question": "Lorem Ipsum 2",
"client_id": 4,
"UserType": 0
},
{
"id": 3,
"question": "Lorem Ipsum 3",
"client_id": 4,
"UserType": 1
}
]
}
Ожидаемый вывод JSON
:
{
"id": 4,
"username": "171fdkjgku",
"access_token": "77NVccAJG7hEKSGQUcKkSip5",
"UserType": 1,
"questions": [
{
"id": 1,
"question": "Lorem Ipsum",
"client_id": 4,
"UserType": 1
},
{
"id": 3,
"question": "Lorem Ipsum 3",
"client_id": 4,
"UserType": 1
}
]
}