【发布时间】:2015-01-15 18:15:36
【问题描述】:
目前,带有 ember 前端应用程序的 Rails API 中的 JSON 对于我的图像模型格式不正确,如下所示。
这会导致 ember Chrome 工具将我的 Project_image 的数据显示为“object Object”,将 project_id 的数据显示为“null”,这在我的模板中不是很有用。
如何使用 Active_Model_Serializer 格式化 JSON 以正确输出数据。
当前 JSON 示例:
{
"images":
[
{
"id":6,
"project_image":
{"project_image":
{"url":"/uploads/image/project_image/6/example_image.jpg"}
},
"project_id":8
}
]
}
当前 image_serializer.rb
class ImageSerializer < ActiveModel::Serializer
attributes :id, :project_image, :project_id
end
任何帮助将不胜感激! :)
Ember 模型
图片
App.Image = DS.Model.extend({
project_image: DS.attr('string'),
project_id: DS.attr('number'),
project: DS.belongsTo('project')
});
项目
App.Project = DS.Model.extend({
client: DS.attr('string'),
tags: DS.attr('string'),
description: DS.attr('string'),
start_date: DS.attr('string'),
end_date: DS.attr('string'),
images: DS.hasMany('image')
});
导轨模型
图片
class Image < ActiveRecord::Base
belongs_to :project
mount_uploader :project_image, ImageUploader
end
项目
class Project < ActiveRecord::Base
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, allow_destroy: true
end
所有项目模型数据正确加载,错误仅与图像模型有关。
【问题讨论】:
-
Rails 中有哪些模型?形象和项目?它们之间有什么关系?
-
我确实有图像和项目模型。图片属于_to项目和项目has_many图片:)
标签: ruby-on-rails json ember.js ember-data active-model-serializers