【发布时间】:2015-03-27 19:36:09
【问题描述】:
我有一个 Rails api,它会输出一个名为 colors 的 json 类型的 postgres 字段。我有一系列可以更改的输入字段,我希望在每个字段更改时可以修改此 json 对象上的键,但绑定似乎没有按预期工作。
数据如下:
"colors": { "primary_color": "#c43535", "secondary_color": "#0000FF" }
我的输入看起来像:
{{input type="text" class="form-control" value=model.colors.primary_color}}
{{input type="text" class="form-control" value=model.colors.secondary_color}}
这会在字段中显示正确的颜色,但是当我更新字段时,在 Ember 检查器中似乎没有更新 JSON 对象。
到目前为止,我已经尝试了三种不同的转换:
json.js
export default DS.Transform.extend({
deserialize: function(serialized) {
return JSON.parse(serialized);
},
serialize: function(deserialized) {
return JSON.stringify(deserialized);
}
});
raw.js
import DS from 'ember-data';
export default DS.Transform.extend({
deserialize: function(serialized) {
return serialized;
},
serialize: function(deserialized) {
return deserialized;
}
});
object.js
export default DS.Transform.extend({
deserialize: function(serialized) {
return Ember.isNone(serialized) ? {} : serialized;
},
serialize: function(deserialized) {
return Ember.isNone(deserialized) ? {} : deserialized;
}
});
所有似乎都具有相同的结果,即更新字段不会修改对象。如何使用 ember-data 像这样序列化/绑定/更新 json 对象?
【问题讨论】:
标签: javascript json postgresql ember.js ember-data