2015-11-06 40 views
0

我有一個autoform,我想要使用模式呈現。我有一個助手模板Template.name.helpers(返回模式{:流星AutoForm:id爲「asdf」的表單需要「模式」或「集合」屬性

Template.name.helpers({ 
    getSchema: function() { 
    var schema = new SimpleSchema({ 
     location: { 
     type: String, 
     label: "Start location" 
     } 
    }); 
    return schema; 
    } 

HTML:

{{#autoForm schema=getSchema id="submitOfferLift" type="method"}} 

但是我不能讓輔助工作(relevant docs)除,如果我只是在template.js中定義了schema = {...},並在autoform中指定了schema = "schema",那麼我會收到一條消息,指出在窗口範圍內沒有定義模式。此外,如果在控制檯中創建模式變量,表單呈現就會很好。

回答

1

你的助手返回一個簡單的對象,而它應該已經返回SimpleSchema實例

Template.name.helpers({ 
    getSchema: function() { 
    var schema = new SimpleSchema({ 
     location: { 
     type: String, 
     label: "Start location" 
     }) 
     return schema; 
    } 
}) 

此外,模板列入應使用>代替#

{{> autoForm schema=getSchema id="submitOfferLift" type="method"}} 
+0

哎呀,我其實是有原來,這也沒有工作。我拿出'新的SimpleSchema'來看看它是否會起作用,並且只是將它複製並粘貼到我的問題中,而不會恢復變更。編輯這個問題來反映這一點。 – ahota

+0

嗯,你試過'{{> autoForm ....'而不是'{{#autoForm ....' –