Javascript 咖啡脚本-无与伦比的OUTDENT

Javascript 咖啡脚本-无与伦比的OUTDENT,javascript,ruby-on-rails,coffeescript,Javascript,Ruby On Rails,Coffeescript,我一直在尝试将我的工作javascript代码传递到CoffeeScript中,但我无法传递此错误: 第55行的不匹配OUTDENT 这是coffeescript代码 $(document).on("click",".save_button", -> $form = $(this).parent().parent().parent().parent().parent().parent() $form.bind("ajax:complete", ->

我一直在尝试将我的工作javascript代码传递到CoffeeScript中,但我无法传递此错误:

第55行的不匹配OUTDENT

这是coffeescript代码

$(document).on("click",".save_button", ->
    $form = $(this).parent().parent().parent().parent().parent().parent()
    $form.bind("ajax:complete", ->
                $actionURI = $form.attr("action");
        $.get(window.location.protocol+"//"+window.location.host+$actionURI+".js",(data) ->
                    $form.parent().parent().prev().html(data); //Line 55
                    closeSaveElement()
        ,"html")
    );
    $form.submit();   
    return false;
);

我试过放和删除
到处都是,但我不知道有什么错。我还试图将
->
更改为
=>
,但出现了相同的错误。

Valid JS不是真正有效的CoffeeScript。你必须这样做:

$(document).on "click", ".save_button", ->
    $form = $(this).parent().parent().parent().parent().parent().parent()

    $form.bind "ajax:complete", ->
        $actionURI = $form.attr "action"
        $.ajax
            type: "get"
            url: "#{window.location.protocol}//#{window.location.host}#{$actionURI}.js"
            dataType: "html"
            success: ->
                $form.parent().parent().prev().html(data)
                closeSaveElement()

    $form.submit()

    return false
另外,对这一行做些什么:

$form = $(this).parent().parent().parent().parent().parent().parent()

.closest()
应该会有帮助。

嘿,谢谢,是的,我一点都不喜欢parent()这件事,让我看看closest()。所以我现在看到的,我应该去掉所有的痕迹;空白对于coffeescript来说也是很重要的。它表示函数的开头和结尾、散列块等。因此,缩进
$actionURI=$form.attr(“action”)
-这可能会导致问题(更不用说分号了)。是保持咖啡干净的有用工具脚本是我最喜欢的咖啡/JS@JasonSperskecoffeelint似乎有点过时了(这是)。parent().parent().parent().parent().parent().parent().parent().parent()
:哇。我想你不知道。