3

作業中の JavaScript コードを CoffeeScript に渡そうとしましたが、このエラーを渡すことができません:

55 行目の一致しない OUTDENT

これはコーヒースクリプトのコードです

$(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;
);

どこでも入れたり消したりしてみまし;たが、何が悪いのですか。->forも変更しようとしまし=>たが、同じエラーが表示されます。

4

1 に答える 1

6

有効な 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()役立つはずです。

于 2013-05-01T20:31:03.293 に答える