我正在尝试创建一个简单的评论表单,访问者可以在其中创建评论。评论将是:comment = {name:“string”,body:“string”,image:“string”}
我希望任何人都能够创建评论,并上传图片而无需创建用户帐户。动机是这是一个纪念去世的朋友。访客应该能够上传内存图片而无需创建帐户。
当我尝试将文件上传到AWS时,我收到以下错误:
TypeError: Meteor.userId is not a function
userId: Meteor.userId() // 70
我在该行设置断点,发现第70行Meteor.userId()
未定义。
validate: function(file) { // 68
var context = { // 69
userId: Meteor.userId() // 70
};
// 71
try { // 72
var validators = Slingshot.Validators, // 73
restrictions = Slingshot.getRestrictions(directive); // 74
// 75
validators.checkAll(context, file, metaData, restrictions) && null; // 76
} catch(error) { // 77
return error; // 78
} // 79
},
有没有办法禁止Meteor.userId()通过API干净地上传slingshot
文件?或者只是让人们注册并登录,以便Meteor.userId()可以使用?
答案 0 :(得分:1)
您无需上传userId。但是当您使用验证时,您必须添加帐户包。您需要添加至少一个登录提供程序包:accounts-password或....
目前似乎是一个错误。
答案 1 :(得分:0)
在弹弓中是bug,但也许你可以解决它直到修复它?
if (!Meteor.userId)
Meteor.userId = function () {};
请注意,此声明必须在使用弹弓之前发出,如果您的应用的任何部分依赖于Meteor.userId
未定义为未启用帐户的标志,则此更改可能会破坏您的应用。