これが私のJSです:
UI.registerHelper('editor', function(doc){
var html = ' <div class="form-group">';
html += '<label class="control-label">Content</label>';
// html += '<textarea rows="5" name="content" class="form-control" id="postContent" required data-schema-key="content">' + doc.content + '</textarea>';
html += '</div>';
console.log(doc);
return Spacebars.SafeString(html);
});
テンプレート:
<template name="postForm">
{{#autoForm collection="Posts" id=formId type=action validation="submit" doc=.. }}
{{> afQuickField name='slug' }}
{{> afQuickField name='title' }}
{{editor ../..}}
<button type="submit" class="btn btn-primary">{{submitBtn}}</button>
{{/autoForm}}
</template>
私のconsole.log
これは印刷されているものです:
Document.(anonymous function) {_id: "JMZRMiMgvX3WxPFSc", slug: "test", title: "test", content: "werwer", user_id: "qQu4RurcQPqN5CP3R"…}
_id: "JMZRMiMgvX3WxPFSc"
content: "werwer"
createdAt: "2014-05-02T15:41:48.458Z"
slug: "test"
title: "test"
user_id: "qQu4RurcQPqN5CP3R"
が何であるかはよくわかりませんDocument.(anonymous function)
が、親からコンテンツにアクセスしてヘルパーで使用するだけです。
編集 これが私が仕事をするコードです
JavaScript:
UI.registerHelper('editor', function(context, options){
var content = (context !== 'undefined') ? context : null;
var html = ' <div class="form-group">';
html += '<label class="control-label">Content</label>';
html += '<textarea rows="5" name="content" class="form-control" id="postContent" required data-schema-key="content">' + content + '</textarea>';
html += '</div>';
if(content) {
var editor = $('#postContent').wysihtml5();
editor.data("wysihtml5").editor.setValue(content);
}
return Spacebars.SafeString(html);
});
テンプレート:
<template name="postForm">
{{#autoForm collection="Posts" id=formId type=action validation="submit" doc=.. }}
{{> afQuickField name='slug' }}
{{> afQuickField name='title' }}
{{{editor ../../content}}}
<button type="submit" class="btn btn-primary">{{submitBtn}}</button>
{{/autoForm}}
</template>