妈的,又是我……
RocketPants
来自git的引用:
支持
active_model_serializers
- 如果您想使用 ActiveModelSerializers,我们会处理它。更好的是,在您的公开调用中,:serializer
按预期通过,我们会自动为您调用它。
所以这就是我尝试做的:
def friends
@user = User.find_by_id(params[:id])
expose @user.friends.first(params[:limit].to_i), serializer: UserJustNameSerializer
end
这就是我在以下位置实现序列化程序的方式user_serializer.rb
:
class UserSerializer < ActiveModel::Serializer
....
end
class UserJustNameSerializer < ActiveModel::Serializer
attributes :id, :first_name, :last_name, :full_name, :avatar_thumb
def avatar_thumb
object.avatar.url(:thumb)
end
end
expose
不带serializer
选项使用是根据UserSerializer
. 尝试使用UserJustNameSerializer
会出现此错误:
NameError (uninitialized constant Api::V1::UsersController::UserJustNameSerializer)
所以问题是:如何正确地显示RocketPants
我的序列化器的方式?现在它试图在 UsersController 中找到它。