Передайте одну переменную следующей в JSON-объекте в Rails 5 - PullRequest
0 голосов
/ 02 мая 2019

Мне нужно иметь доступ к пользовательским данным в комментариях.

  def index
    @user = User.all

    @libraries = Library.all.order('created_at ASC')
    @comments = Comment.all
    @user_likes = UserLike.all
    render :json => @libraries, :include => [:user, :comments, :user_likes]
  end

Я пробовал это:

render :json => @libraries, :include => [:user, {:comments => :user}, :user_likes]

И это не сработало.Есть идеи?

1 Ответ

0 голосов
/ 03 мая 2019

Если у вас настроены ассоциации, вам нужно добавить include для вложенных ассоциаций:

   render :json => @libraries, 
    :include => {:user, {:comments => { include: :user}}, :user_likes}

При рендеринге JSON, подобном этому, Rails сначала вызывает as_json, чтобы преобразовать полезную нагрузку в хеш. Вот когда используется опция include. Вы можете проверить документацию , чтобы увидеть, как она работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...