2014-04-15 44 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,并使用集合事件来处理呈现。