我试图在Keystone中进行某种关系的更新,但我无法让它发挥作用。我一直在阅读文档,似乎没关系,也在这里和GitHub中寻找问题,我找不到合适的答案。
任何人都可以帮助我吗?
这些是文件:
/**update/post.js */
exports.create = {
Post: [
{ 'name.en': 'Postone', 'name.es': 'Artículo 1'},
{ 'name.en': 'Posttwo', 'name.es': 'Artículo 2'}
],
};
/** update/user.js */
exports.create = {
User: [
{ 'name': 'First User', 'post': 'postone'}
]
}
模型文件是:
user.js的
var keystone = require('keystone');
var async = require('async');
var Types = keystone.Field.Types;
var User = new keystone.List('User', {
map: {
name: 'name'
},
});
User.add({
name: {
type: Types.Text,
initial: true,
required: true
},
post: {
type: Types.Relationship,
ref: 'Post',
many: false
}
});
User.defaultColumns = 'ID, name, post';
User.register();
Post.js
var keystone = require('keystone');
var async = require('async');
var Types = keystone.Field.Types;
var Post = new keystone.List('Post', {
map: {
name: 'name.en'
},
autokey: {
path: 'slug',
from: 'name.en',
unique: true
},
});
Post.add({
name: {
en: {
type: Types.Text,
initial: true,
required: true
},
es: {
type: Types.Text
}
}
});
Post.relationship({
path: 'users',
ref: 'User',
refPath: 'post'
});
Post.defaultColumns = 'name.en';
Post.register();
我收到此消息:
关系User.post包含无效的引用:" postone"。
提前致谢。
答案 0 :(得分:0)
查看此修改是否有效:
/** update/user.js */
exports.create = {
User: [
{ 'name': 'First User', 'post': 'Postone'} // replace postone with Postone
]
}