Json не выглядит симпатично на вложенных рельсах запроса - PullRequest
0 голосов
/ 15 мая 2019

Вот мое действие по показу для отображения пользователей

def show 
  manager = HiringManager.find(params[:id])
  candidates = manager.users.to_json(:include => [:experiences, :educations])
  render :json => { manager: manager, candidates: candidates }                   
end 

и моих моделей HiringManager и Hire

class HiringManager < ActiveRecord::Base
  has_many :hires
  has_many :users, through: :hires
end

class Hire < ApplicationRecord
  belongs_to :hiring_manager
  belongs_to :user
end

, оно работает довольно хорошо, но предварительный просмотр json не очень хорош enter image description here

1 Ответ

1 голос
/ 15 мая 2019

Нет, это не работает нормально.Проблема в том, что вы дважды кодируете JSON.candidates = manager.users.to_json(:include => [:experiences, :educations]) создает строку JSON.

Когда вы передаете это render json:, оно обрабатывается как строка, а не как объект, и кавычки экранируются.

Вместо .to_json вы хотите использовать .as_json, который создает массив хешей вместо строки.

def show 
  manager = HiringManager.find(params[:id])
  candidates = manager.users.as_json(include: [:experiences, :educations])
  render json: { manager: manager, candidates: candidates }                   
end 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...