Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveModelSerializers是';t用于呈现json_Ruby On Rails_Ruby On Rails 4_Active Model Serializers - Fatal编程技术网

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
选项!我不明白为什么它还在应用程序中搜索视图