gpt4 book ai didi

node.js - 使用Compound.js 更新 Controller 中的属性

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:08 26 4
gpt4 key购买 nike

我尝试使用Compound.js 创建一个博客。我有两个表,“类别”和“帖子”,每个表都有日期属性,但是当我生成表时,我得到了一个表单,其中每个"new" View 中都有日期属性的输入...

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

我该如何制作?

我的舍玛:

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
};

我的 Controller :

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);
}
});
});
});
});

最佳答案

如果您希望默认设置日期,您可以在架构中这样做:

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

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

关于node.js - 使用Compound.js 更新 Controller 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com