2014-09-03 53 views
1

当我创造了纪录我试图让这样的模式:如何禁用灰烬显示“空”为空字符串

控制器/ posts.js

import Ember from "ember"; 

export default Ember.ObjectController.extend({ 
    actions: { 
    createPost: function() { 
     var newPost = this.get('store').createRecord('post', this.get('post')); 
     newPost.set('date' , new Date()); 
     newPost.set('author' , 'C.L.I. Ember'); 
     this.get('target').transitionTo('post', newPost.save()); 
    } 
    } 
}); 

工作例如:https://github.com/broerse/ember-cli-blog

这将为空字符串发布'null'。

这个this.get('post')应该如何正确完成?

+0

我想你想克隆的帖子? 'this.get('post')'不是值的哈希值,这是'createRecord'想要的值。你需要找到克隆Ember模型的其他方法,谷歌搜索会改变事情。 – 2014-09-03 16:03:23

+0

谷歌搜索确实给了我一些像'this.get('store'),createRecord('post',model.toJSON());'但是如何从posts控制器获取模型? – 2014-09-03 20:08:52

+0

'this.get('model')。toJSON()'似乎不起作用。 – 2014-09-03 21:37:34

回答

1

我落得这样做是利用defaultValue在这样的模式是什么:

import DS from "ember-data"; 

var Post = DS.Model.extend({ 
    title: DS.attr('string', {defaultValue: ""}), 
    author: DS.attr('string', {defaultValue: ""}), 
    date: DS.attr('date'), 
    excerpt: DS.attr('string', {defaultValue: ""}), 
    body: DS.attr('string', {defaultValue: ""}), 
    rev: DS.attr('string') 
}); 

export default Post;