【发布时间】:2016-03-03 03:19:13
【问题描述】:
我有一个运行 Rails API 后端的 Ember 应用程序,我在两者之间遇到了一个奇怪的问题。我希望存储在 API 中的消息模型数据将堆栈向上发送到 Ember。我已经在数据库中植入了几条消息来匹配这次迁移:
class CreateMessages < ActiveRecord::Migration[5.0]
def change
create_table :messages do |t|
t.text :body
t.boolean :flagged
t.timestamps
end
end
end
加上一个像这样的序列化器:
class MessageSerializer < ActiveModel::Serializer
attributes :id, :body, :flagged, :created_at, :updated_at
end
在 Ember 方面,我的模型设置如下:
import DS from 'ember-data';
export default DS.Model.extend({
body: DS.attr('string'),
flagged: DS.attr('boolean'),
createdAt: DS.attr('date'),
updatedAt: DS.attr('date')
});
Ember 很好地显示了标记和正文参数,但它只返回 undefined 用于 createdAt 和 updatedAt。通过检查 Rails 控制台,对第一条消息的快速测试会返回如下内容:
message.as_json
=> {"id"=>1, "body"=>"Etsy actually four dollar toast seitan. Schlitz twee kale chips pork belly franzen tote bag.", "flagged"=>true, "created_at"=>Wed, 02 Mar 2016 21:33:55 UTC +00:00, "updated_at"=>Wed, 02 Mar 2016 21:33:55 UTC +00:00}
我在 GitHub 上看到一些参考资料或多或少准确地做到了这一点,但我不知道哪里出了问题。任何帮助表示赞赏!
【问题讨论】:
-
您使用的是活动模型适配器吗?
-
您确认日期序列化是
date转换所期望的格式吗? -
我可以确认 ActiveModel 正在使用中,据我所知,日期转换应该与序列化匹配。话虽如此,Ember 还是很陌生:有没有一种通过控制台快速测试的方法?
标签: ruby-on-rails json ember.js ember-data