覆盖 Jade 脚本。堵塞

Override Jade script. block

我正在尝试覆盖 Jade script. 标签,但我所做的一切都不起作用。

我有以下代码:

Layout.jade

    block foot
    footer.container#footer
        .row
            .twelve.columns Todos os direitos reservados. © 2015 Pet Feeder

block scripts
    script(src="/javascripts/js/jquery.min.js")
    script(src="/javascripts/lib/jQueryUI/jquery-ui-1.8.18.custom.min.js")
    script(src="/javascripts/js/s_scripts.js")
    script(src="/javascripts/js/jquery.ui.extend.js")
    script(src="/javascripts/lib/qtip2/jquery.qtip.min.js")
    script(src="/javascripts/lib/fullcalendar/fullcalendar.min.js")
    script(src="/javascripts/js/jquery.list.min.js")
    script(src="/javascripts/js/pertho.js")

script.
    $(document).ready(function(){
        prth_common.init();         
    });

到这里为止,一切都很好,脚本运行起来很顺利。但是当我需要从其他视图放置另一个脚本时,从视图添加的 script. 不起作用。他们根本没有被添加。

anyView.jade

block content
//my content here    
script.
function sendForm(){
$.ajax({
    url:'/some/controller',
    data:$("#form_save").serialize(),
    type:'POST',
    dataType:'JSON',
    beforeSend:function(){
      //some stuff here
    },
    success:function(data){
      console.log(data);
    }
  });
}
$("#submit_form").click(function(){
  sendForm();
});

我该怎么做?

编辑 - 完整文件:

https://gist.github.com/sp4rtablood/e59075d52d594cbaa4bf

https://gist.github.com/sp4rtablood/f0d6d83aa93be9773b85

当一个视图 extends 另一个视图时,它不再允许松散的内容。 anyView.jade 中的 script. 因无效而被丢弃。

It's expected to be placed under a block,如scripts。您可以使用 append 将其插入 script(src="/javascripts/js/pertho.js"):

之后
extends layout

block content
    # ...

block append scripts
    script.
        function sendForm(){
            // ...
        }
        $("#submit_form").click(function(){
          sendForm();
        });

应该生成:

<!-- ... -->
<script src="/javascripts/js/pertho.js"></script>
<script>
        function sendForm(){
            // ...
        }
        $("#submit_form").click(function(){
          sendForm();
        });
</script>
<!-- ... -->