Coffeescript加载但不运行代码

时间:2013-03-18 01:08:07

标签: ruby-on-rails coffeescript

我试图在Jquery-ui中实现自动完成功能,作为此railscast的一部分。理想情况下,我最终会得到类似github repo的内容。

但是我在使用coffeescript文件时遇到了麻烦,该文件与名为"联系人的资源相关。"

#app/assets/javascripts/contacts.js.coffee
jQuery ->
  $('#search').autocomplete
    source: "/search_suggestions"

当我在浏览器的控制台中运行此代码时,它可以正常工作。但是当它出现在coffeescript文件中时,它并没有。该文件在浏览器中加载。它只是没有运行代码。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我的猜测是在文档就绪事件被触发后以某种方式加载此文件。你可以通过这样做来确认/否认这个猜测:

setupAutocomplete = ->
  $('#search').autocomplete
    source: "/search_suggestions"

jQuery setupAutocomplete

然后在加载页面后,打开控制台并手动调用setupAutocomplete功能。如果事情有效,那就意味着你的文档就绪回调永远不会被解雇,大概是因为它发生在加载这段代码之前。所以请研究一下。