【发布时间】:2014-10-21 14:04:53
【问题描述】:
这是我的 Rails 应用程序给我的响应:
{"users":[{"users":{"id":20,"email":"subscriber@email.com", ...
它应该是这样的(这是另一个工作资源):
{"companies":[{"id":448,"name":"Microsoft Security ...
注意包装 users: 对象。
这是我的 User 模型的序列化器:
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
【问题讨论】:
-
你能展示一下
@users的结构吗? -
我正在使用 Devise,我认为这与序列化程序有关,但我不确定如何解决问题。
-
如果你在渲染之前做
pp @users,你会得到什么? -
这个gist.github.com/sergiotapia/2c5352b8cfb866b12508 - 这是序列化程序没有被拾取的问题。我已经仔细检查了文件名 (serializers/user_serializer.rb)、类名 (UserSerializer) - 我很确定它是 Devise,我不知道要覆盖什么。
-
您是否创建了
SubscriberSerializer < UserSerializer、PublisherSerializer < UserSerializer等...?
标签: ruby-on-rails json ember.js response serialization