2013-01-13 65 views
0

我遇到了我的coffeescript问题,我试图刷新一次ajax调用完成后的值加载(使用'best_in_place'),并且执行该操作以最简洁的方式,我将所有的代码放在一个函数中,作为回调的一部分被调用。Coffeescript in Rails 3.1应用程序每次页面加载执行

但是,似乎rails想在页面加载时调用这个函数,而不是每次都回调,为什么会这样呢?

jQuery -> 
    $('.best_in_place').best_in_place().bind("ajax:success", Statement.update_transactions()) 

Statement = 
    update_transactions :() -> 
    alert('running update'); 
    $('.category_field').each(-> 
     transaction_id = $(this).attr('data-transaction-id') 
     $(this).find('.loading-transaction').show(); 
     $(this).find('.category-detail').hide(); 
     $(this).load('/transaction/update_category/'+transaction_id, -> 
     $(this).find('.loading-transaction').hide(); 
    ); 
    ) 

回答

1

取下Statement.update_transactions括号()

它们造成立即调用的方法。所以只需使用:

$('.best_in_place').best_in_place().bind("ajax:success", Statement.update_transactions) 
相关问题