Render: JSON с include не отображает данные таблицы с другим названием модели - PullRequest
0 голосов
/ 07 декабря 2018

У меня следующая структура модели

class SetBenchmark < ApplicationRecord
  self.table_name = 'benchmarks'
  has_many :my_question_sets
end

class MyQuestionSet < ApplicationRecord
  belongs_to :set_benchmark, class_name: 'SetBenchmark',
end

class MyAdmin < ApplicationRecord
  has_many :my_question_sets
end

Ниже описан метод рендеринга контроллера

render json: my_admin, include: { my_question_sets: [ 'benchmark.*'] } 

Я не получаю benchmark данных в ответ.Это потому, что имя класса отличается от имени таблицы?

1 Ответ

0 голосов
/ 07 декабря 2018

Я думаю, что вы должны использовать имена ассоциаций, а не имена таблиц в спецификации json.

 render json: my_admin, include: { my_question_sets: :set_benchmark } 

https://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html#method-i-as_json

...