0

我正在尝试从 jQuery 进行自动完成,但是我拥有的代码在 CoffeeScript 中。我不确定如何在我的本地主机服务器上运行它。

起初我将它放在 application.js 中,但那不起作用,所以我创建了 gens.js.coffee 并将代码放在那里,但仍然没有显示。

这是代码:

jQuery ->
  $('#querysearch').autocomplete
    source: ['foo', 'food', 'four']

这里 application.js 正在调用该文件:

//= require gens
//= require jQuery.ui.datepicker
# file his actually gens.js.coffee

这就是我调用 application.js 的方式:

<%= javascript_include_tag "application" %>

我做错了什么?

4

1 回答 1

2

首先,我会确保我的 Gemfile 中有 CoffeeScript 和 jQuery UI gem。

group :assets do
  gem 'coffee-rails'
  gem 'jquery-ui-rails'
end

然后我会确保我正确地需要这些资产。我认为你在这里犯了错误

  1. Q通过在 jquery 中大写。
  2. 通过要求 datepicker 然后尝试调用自动完成
  3. 通过在您的“gens”文件之后要求您的 jQuery UI 库。

它应该看起来像这样

//= require jquery.ui.autocomplete
//= require gens

如果您愿意,您可以将 JS 代码(不是 CoffeeScript)直接放入application.js文件中,或者在您的gens.js.coffee文件中应该没问题。

您也可以尝试运行您的服务器并访问http://localhost:3000/assets/application.js. 你可以看看那里的JS,看看它是否正确。

我还会尝试在 Chrome 浏览器中打开开发工具并查找 JavaScript 错误。

于 2012-10-02T01:37:31.610 回答