2013-05-01 3 views
2

Я пытался передать свою работу яваскрипта код в CoffeeScript, но я не могу передать эту ошибку:CoffeeScript - Непревзойденная Outdent

unmatched OUTDENT on line 55

Это код 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; 
); 

я Я попытался положить и стирать ; всюду, но я не ошибаюсь. Я также попытался изменить -> на =>, но та же ошибка появляется.

+1

http://www.coffeelint.org/ является полезным инструментом, чтобы держать ваш CofeeScript чистый –

+0

http://js2coffee.org/ мой любимый для кофе/JS – MrYoshiji

+0

@JasonSperske coffeelint кажется немного устаревшим Тхо – Ven

ответ

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() должен быть полезным.

+0

эй спасибо, да я вообще не люблю всю родительскую() вещь, позвольте мне проверить ближайший(). Итак, что я вижу, я должен удалить все следы; –

+0

@EH_warch: Вид. – Blender

+2

Ну и пробелы важны для coffeescript. Он указывает такие вещи, как начало и конец функций, блоки хэша и т. Д. Итак, где вы укажете '$ actionURI = $ form.attr (« действие »)' - это может вызвать проблему (не говоря уже о запятой). – nzifnab

Смежные вопросы