【发布时间】:2016-05-05 15:02:02
【问题描述】:
我将active_model_serializer 0.10.0.rc5 和grape gem 用于api。
我有一个像这样的 post 端点:
class V1::Endpoints::Posts < Grape::API
resource :posts do
desc 'Returns a list of posts.'
# serializing array
get '', each_serializer: V1::Serializers::PostSerializer do
@posts = Post.all
present @posts
end
end
end
我的序列化器看起来像这样:
class V1::Serializers::PostSerializer < ActiveModel::Serializer
attributes :id, :name, :slug
end
现在,当我尝试访问 post 端点时,出现以下错误:
ActiveModel::Serializer::CollectionSerializer::NoSerializerError - No serializer found for resource:
我在调试问题时发现的问题在于这个 gem 的 CollectionSerializer#initialize。我想serializer_class 变量即将为零。
我已经尝试了几乎所有与此问题相关的链接。但没有一个对我有用。
【问题讨论】:
标签: ruby-on-rails-4 active-model-serializers grape-api