#ruby-on-rails #activerecord #include
Вопрос:
Я предполагаю, что это довольно простая проблема синтаксиса, но, похоже, не может ее решить.
У меня есть запрос, который возвращает вложенный объект JSON. В своем нынешнем виде он не возвращает «кредиты».
user_data['harvests'] = @harvests.to_json(include: [ :user_public_data, :awards, comments: {include: :user}, credits: {include: :user} ])
Однако, если я изменю порядок «кредитов» и «комментариев», он не вернет «комментарии». В чем здесь проблема?
user_data['harvests'] = @harvests.to_json(include: [ :user_public_data, :awards, credits: {include: :user}, comments: {include: :user} ])
Ответ №1:
Трудно найти документацию по этому вопросу, но я нашел решение, используя as_json, а не to_json.
user_data['harvests'] = @harvests.as_json(include: {user_public_data: {}, awards: {}, comments: {include: :user}, credits: {include: :user} }