1

我尝试使用 Compound.js 创建博客。我有两个表格,“类别”和“发布”,每个表格都有日期属性,但是当我生成表格时,我得到了一个表格,每个“新”视图中都有一个日期属性的输入......

我想在创建它时在我的控制器中自动更新日期属性。

我该怎么做?

我的谢玛:

var Category = describe('Category', function () {
    property('name', String);
    property('date', Date);
    set('restPath', pathTo.categories);
});

var Post = describe('Post', function () {
    property('title', String);
    property('content', String);
    property('published', Boolean);
    property('date', Date);
    set('restPath', pathTo.posts);
});

Category.hasMany(Post, {as: 'posts', foreignKey: 'categoryId'});

我的模型:

module.exports = function (compound, Category) {
  // define Category here
};

我的控制器:

action('new', function () {
    this.title = 'New category';
    this.category = new Category;
    render();
});

action(function create() {
    Category.create(req.body.Category, function (err, category) {
        respondTo(function (format) {
            format.json(function () {
                if (err) {
                    send({code: 500, error: category && category.errors || err});
                } else {
                    send({code: 200, data: category.toObject()});
                }
            });
            format.html(function () {
                if (err) {
                    flash('error', 'Category can not be created');
                    render('new', {
                        category: category,
                        title: 'New category'
                    });
                } else {
                    flash('info', 'Category created');
                    redirect(path_to.categories);
                }
            });
        });
    });
});
4

1 回答 1

0

如果您希望在默认情况下设置日期,您可以在 Schema 中这样做,如下所示:

var Category = describe('Category', function () {
    property('name', String);
    property('date', Date, {default: new Date});
    set('restPath', pathTo.categories);
});

如果您不希望用户看到日期字段,您可以将其从视图标记中删除,因为数据对象已经预先填充。

于 2013-09-20T18:45:47.900 回答