У меня есть объект User, и у каждого пользователя есть {тег (атрибут tag_id). Я хочу вернуть информацию о User.all в json, а также добавить все атрибуты тега в тег.
Итак, у меня есть
users = User.where(some condition)
response = { token: current_user.token, users: users }
render json: response
и я получаю
"token":"token_value",
"users":[{ each user info here and also "tag_id":1}...]
Я хочу получить
"token":"token_value",
"users":[
{ each user info here and tag info inside each user "tag":{ tag info here }}...
]
Как я могу это сделать?
Я уже пробую все ответы из этого почти дублирующий вопрос
Только один "сработал", я пытаюсь:
users = User.where(some condition).to_json(include: [:tag])
response = { token: current_user.token, users: users }
render json: response
Но теперь мой JSON выглядит неправильно:
{"token":"9ce32ecb324dccdd7a3e691bd8eab404",
"users":"[
{\"id\":377,\"nome\":\"CAIXA-ALM-CPARK-PE-ELE-0203-PAV00-nomeDoarquivo.dwg\",\"endereco\":\"https://localhost-gus.s3.us-west-2.amazonaws.com/users/9/f8770023-00e9-401c-884b-a97d16cae10c/CAIXA-ALM-CPARK-PE-ELE-0203-PAV00-nomeDoarquivo.dwg\",\"s3_key\":\"users/9/f8770023-00e9-401c-884b-a97d16cae10c/CAIXA-ALM-CPARK-PE-ELE-0203-PAV00-nomeDoarquivo.dwg\",\"deletado\":\"NÃO\",\"tamanho\":3205827,\"user_id\":9,\"created_at\":\"2018-05-12T11:19:55.961-03:00\",\"updated_at\":\"2018-05-12T11:19:55.961-03:00\",\"tag_id\":7,\"upload_date\":\"2018-05-12T11:19:55.960-03:00\",\
"tag\":{\"id\":7,\"nome\":\"ELÉTRICA\",\"cor\":\"#4A148C\",\"created_at\":\"2018-04-05T09:06:35.227-03:00\",\"updated_at\":\"2018-04-05T09:06:35.227-03:00\",\"abreviacao\":\"ELE\"}}
]"}
Я получил\ для каждого атрибута, и я не знаю, почему
Но если я использую без токена в моем ответе, отлично работает:
users = User.where(some condition).to_json(include: [:tag])
response = { users: users }
render json: response
Я уже редактировал этот вопрос, потому что он был отмечен как дубликатно, как я объясняю выше, это не дубликат.Поэтому я следую инструкциям этой ссылки meta.stackexchange , чтобы кто-то с правами доступа мог это исправить.