2014-04-15 43 views
0

如何在模板上的附加模板中傳遞變量。我添加了Flash消息以顯示錯誤;主幹:將變量傳遞給附加模板

P.S是新來的骨幹

這裏是故障代碼;

error: function(user, response){ 
    //create flash message with errors and render new page 
    var failureErrors = $.parseJSON(response.responseText).errors; 
    var errorView = new Skymama.Views.ErrorMessages();      
    $("#error_messages").append(errorView.render().el({errors: failureErrors})); 
} 

這是模板;

<div class="alert alert-danger"> 
    <button type="button" class="close" data-dismiss="alert"> 
     <i class="icon-remove"></i> 
    </button> 
    <div id="error_list"> 
     <ul> 
      <% errors.each(function(error){ %> 

      <% }); %> 
     </ul> 
    </div> 
    <br> 
</div> 

回答

1

在你的代碼中,我看到你正試圖將參數傳遞給el - 這不是函數。

你可以簡單地在你的ErrorMessages添加參數查看的渲染方法採取錯誤:

//in your Skymama.Views.ErrorMessages... 

render: function (templateData) { 
    this.$el.html(this.template(templateData)); 
} 

,並在你的錯誤處理程序:

$("#error_messages").append(errorView.render({errors: failureErrors})); 

有不同的方法來改善這一點,例如您可以使故障錯誤集合並將其傳遞給errorView,並使用集合事件來處理呈現。