Ruby on rails ActiveModelSerializers是';t用于呈现json
我正在使用活动模型序列化程序的版本Ruby on rails ActiveModelSerializers是';t用于呈现json,ruby-on-rails,ruby-on-rails-4,active-model-serializers,Ruby On Rails,Ruby On Rails 4,Active Model Serializers,我正在使用活动模型序列化程序的版本0.9.3。当我调用render json:@collection甚至单个对象时,它会使用默认的to_json方法并返回完整的对象。我不想尝试任何花哨的东西。我的控制器在目录app/controllers/v1/中,序列化程序在目录app/serializers/v1/中,我也在app/serializers/中尝试过它们。序列化程序类名为UserSerializer,模型为User。任何可能发生这种情况的想法都很好。如果它是一个对象集合,请在渲染时指定每个序列
0.9.3
。当我调用render json:@collection
甚至单个对象时,它会使用默认的to_json
方法并返回完整的对象。我不想尝试任何花哨的东西。我的控制器在目录app/controllers/v1/
中,序列化程序在目录app/serializers/v1/
中,我也在app/serializers/
中尝试过它们。序列化程序类名为UserSerializer
,模型为User
。任何可能发生这种情况的想法都很好。如果它是一个对象集合,请在渲染时指定每个序列化程序
:
render(
json: @collection,
each_serializer: UserSerializer
)
如果是单个对象,则指定序列化程序
:
render(
json: @user,
serializer: UserSerializer
)
不幸的是,我试过了,但没有效果。我在集合中得到一个错误,它找不到模板。因此,它正在搜索视图/jbuilder文件。是否使用每个序列化程序的命名空间名称指定了
每个序列化程序
?为单个对象传递序列化程序:
,但集合仍在查找与索引
方法关联的视图。对于each_serializer
我正在无Lucki地传递V1::UserSerializer
如果单个对象使用serializer
选项,那么对象集合应该使用each_serializer
选项!我不明白为什么它还在应用程序中搜索视图