【问题标题】:Application.js.coffee railsApplication.js.coffee rails
【发布时间】:2012-09-22 20:16:50
【问题描述】:

我正在尝试从 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" %>

我做错了什么?

【问题讨论】:

  • 您是否在gens.js.coffee 中添加了类似console.debug('yes, I'm here!'); 的内容并在加载页面时检查了浏览器控制台?更直接地说:你有没有证明gens.js.coffee是否被包含在application.js中?
  • gem "coffee-script" 在您的Gemfile 中并且未注释吗?是否安装了 gem (您是否运行 bundle install 以确保它已安装?)
  • 您是否已经构建了application.js 的预编译副本?运行rake assets:clean 清除任何预编译的副本。
  • 谢谢,我知道咖啡根本不起作用,我现在正在检查。尝试它们,但没有什么不同!

标签: ruby-on-rails ruby coffeescript


【解决方案1】:

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

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

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

  1. 在 jquery 中将Q 大写。
  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 错误。

【讨论】:

    猜你喜欢
    • 2013-08-15
    • 1970-01-01
    • 2016-07-07
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多