带有includes的Render:json不会渲染具有不同模型名称的表数据



我有以下模型结构

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数据作为响应。是因为它的类名和表名不同吗?

我认为应该使用关联名称,而不是json规范中的表名称。

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

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

最新更新