我假设您使用的是 1.2.0 版。如果是这种情况,您需要强制降级到版本 1.1.9。
您可以通过运行以下命令来执行此操作:meteor add mizzao:sharejs-ace@=1.1.9
或在.meteor/versions
文件中手动更改版本:mizzao:sharejs-ace@1.1.9
.
在GitHub 上阅读有关此问题的更多信息。
这里的第二个docid是什么?我猜这是模板的辅助函数,其中包含我要同步的文档的唯一名称?
docid
in 参数{{> sharejsAce docid=docid id="editor"}}
用于指定应该在编辑器中显示的文档。因此,第二个 docid
是帮助函数的名称,它只返回_id
已选择的文档:
Template.docItem.events =
"click a": (e) ->
e.preventDefault()
Session.set("document", @_id)
Template.editor.helpers
docid: -> Session.get("document")
一旦我将它包含在 html(或模板)中,我需要在 js 端(客户端/服务器?)做什么?我应该做些什么来制作模板(sharejsAce)来共享文本?
如果你想用 Meteor 集合镜像 ShareJS 数据并使用 ShareJS 用户访问控制,你需要创建一个设置文件,就像在演示中一样:
{
"sharejs": {
"options": {
"accounts_auth": {
"authorize": {
"collection": "documents",
"token_validations": {
"or": {
"invitedUsers": "is_in_array",
"userId": "is_equal"
}
},
"apply_on": [
"read",
"update",
"create",
"delete"
]
},
"authenticate": {
"collection": "users",
"token_validations": {
"_id": "is_equal"
}
}
}
}
}
}