Ruby on rails 活动模型序列化程序未使用正确的属性响应

Ruby on rails 活动模型序列化程序未使用正确的属性响应,ruby-on-rails,json,active-model-serializers,Ruby On Rails,Json,Active Model Serializers,我正在从事一个railsapi项目,在这个项目中我使用的是activemodelserialiazer。但不幸的是,它没有像预期的那样工作。这是我的V1::HuntsController class V1::HuntsController < V1::MainController def index render json: Hunt.all end end 但似乎什么都不管用。在我看到的日志中 [active_model_serializers] Rendered V1

我正在从事一个
railsapi
项目,在这个项目中我使用的是
activemodelserialiazer
。但不幸的是,它没有像预期的那样工作。这是我的
V1::HuntsController

class V1::HuntsController < V1::MainController
  def index
    render json: Hunt.all
  end
end
但似乎什么都不管用。在我看到的日志中

[active_model_serializers] Rendered V1::HuntSerializer with Hash (32.36ms)
这里发生了什么事。任何帮助都将不胜感激。

试试看
呈现json:Hunt.all,每个序列化程序:HuntSerializer
(不需要数据根)


然后,为了验证序列化程序是否被命中,在picture\u url函数的主体中放置一个
byebug
。如果
byebug
被命中,那么您确实在使用序列化程序。(gemfile中必须包含gem byebug)

正如我在问题中明确提到的,我尝试了您提到的建议,但没有成功。我也尝试了
调试器
,但它没有被调用。所以我不确定这里发生了什么对不起我明白你的意思。我试过了,效果很好。为什么“{data:Hunt.all}”不工作?它不是将
调用为_json
方法吗?它不起作用,因为1)阻止AMS检查对象并检索相应的序列化程序(HuntSerializer)和2。)即使每个_序列化程序都不起作用,因为
{data:Hunt.all}
不是数组。此外,
调试器
在服务器端也不起作用,因为这是一个javascript概念
byebug
pry
通常用于服务器端的调试。最后,如果这为你解决了问题,请接受我的回答:)我接受了你的回答。顺便说一句,rails中也存在调试器,实际上ruby gem包含在rails中。因此,您可以在rails中使用调试器。
render json: {data: Hunt.all } ,each_serializer: HuntSerializer
[active_model_serializers] Rendered V1::HuntSerializer with Hash (32.36ms)