这是我的Rails应用给我的回复:
{"users":[{"users":{"id":20,"email":"subscriber@email.com", ...
这里看起来应该是什么样的(这是另一个工作资源):
{"companies":[{"id":448,"name":"Microsoft Security ...
注意包装users:
对象。
这是我的用户模型的序列化程序:
class UserSerializer < ApplicationSerializer
attributes :id,
:first_name,
:last_name
end
对于公司模式:
class CompanySerializer < ApplicationSerializer
attributes :id, :name
end
我错过了什么?我需要做什么,以便json响应使用此UserSerializer类?
def index
load_users
render json: @users
end
答案 0 :(得分:2)
我知道Rails无法忽略我的序列化程序是个问题。
在我的控制器中我写了这个:
# app/controllers/api/v1/users_controller.rb:
class Api::V1::UsersController < ApplicationController
def default_serializer_options
{ each_serializer: UserSerializer } # I use each_serializer instead of serializer because it's rendering a collection.
end
end
基本上我通过人工处理代码来使用正确的序列化程序,现在它正常工作。