我有一个简单的活动模型序列化器:
class ActivitySerializer < ActiveModel::Serializer
attributes :id, :title, :description, :time
has_one :category
has_one :user
end
我也有类别和用户序列化程序,它们按预期工作。
{"activities":[{"id":1,"title":"Test Activity","description":null,"time":"2014-03-01T06:05:41.027Z","category":{"id":1,"title":"Sports"},"user":{"id":1,"name":"ember"}}]}
然而,他们似乎没有载入ember。
App.Activity = DS.Model.extend
title: DS.attr('string')
description: DS.attr('string')
time: DS.attr('date')
category: DS.belongsTo('category')
user: DS.belongsTo('user')
App.Category = DS.Model.extend
title: DS.attr('string')
activities: DS.hasMany('activity')
App.User = DS.Model.extend
name: DS.attr('string')
activities: DS.hasMany('activity')
当我检查ember检查器时,数据没有加载。ActiveModelSerializer需要什么样的格式?它加载活动,但不加载类别或用户属性。
2条答案
按热度按时间nkkqxpd91#
这个技巧花了我一点时间在网上找到,我的模型需要包括
embed :ids
。或者,您可以执行类似的操作 * 而不是 * 上述操作。
b09cbbtk2#
Ryan提到的embed id是可以工作的,但是你可能会遇到一些变化的问题,比如organized_by变成organized_bies,然后你必须配置两端来纠正它。解决这个问题所需要的JS代码是: