Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails不包括javascript的require_树_Javascript_Ruby On Rails_Ruby_Coffeescript - Fatal编程技术网

Rails不包括javascript的require_树

Rails不包括javascript的require_树,javascript,ruby-on-rails,ruby,coffeescript,Javascript,Ruby On Rails,Ruby,Coffeescript,在检查更复杂的javascript(coffee)代码不起作用后,我已经尝试在rails应用程序中用javascript执行一个简单的控制台和警报消息好几个小时了。我能够打印东西的唯一方法是将代码放入application.js中。以下是我的应用程序中的主要文件: Gemfile source 'https://rubygems.org' gem 'rails', '3.2.0' group :assets do gem 'sass-rails', '~> 3.2.3' g

在检查更复杂的javascript(coffee)代码不起作用后,我已经尝试在rails应用程序中用javascript执行一个简单的控制台和警报消息好几个小时了。我能够打印东西的唯一方法是将代码放入application.js中。以下是我的应用程序中的主要文件:

Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.0'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'jquery-rails', '3.0.4'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'mongo_mapper'
gem 'haml', "~> 4.0.4"
gem 'i18n', '~> 0.6.9'
assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require_tree .
assets/javascripts/example.coffee

$(document).ready(function() {
  console.log( "pRUEBAEFADF")
});
config/application.rb

require File.expand_path('../boot', __FILE__)

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"

if defined?(Bundler)
  Bundler.require(*Rails.groups(:assets => %w(development test)))
end

module HotelAbadi
  class Application < Rails::Application
    config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
    config.i18n.default_locale = :es

    config.encoding = "utf-8"

    config.filter_parameters += [:password]

    config.assets.enabled = true
    config.assets.paths << "#{ Rails.root }/app/assets/fonts"

    config.assets.version = '1.0'
  end
end
我还尝试手动添加该文件,但它不执行任何操作。我找不到更多关于这个问题的文章了。提前谢谢


编辑:我已将版本从3.2.0更新到3.2.15,问题已得到解决。

添加“therubyracer”gem很重要

在资产组中添加此行

gem 'therubyracer', :platforms => :ruby

这里的更多信息:

您的
资产/javascripts/example。coffee
不是Coffeescript,而是Javascript。将文件重命名为
assets/javascripts/example.js
或将代码转换为Coffeescript。另外,如果您希望将其转换为Coffeescript,则名称应为
assets/javascripts/example.js.coffee

我已经尝试过,但仍然无法使用。我正在尝试Nelson的解决方案,但安装过程太慢(我不知道为什么)。它正在尝试安装libv8(现在10分钟…。安装后,仍然无法工作。当我加载页面时,不打印任何内容。我已经更改了example.js的代码,所以现在它的名称是example.coffee,它使用coffee语法($(document).ready->console.log“LOADED”)。如果他没有安装js运行时,他的服务器甚至不会启动。你的清单文件加载
jquery
&
jquery\u ujs
。能否确保正确加载了这些jquery文件?如果没有(丢失,不在路径中),您的coffeescript文件甚至无法加载。问题在于rails的版本。我一直在使用3.2.0,现在我将其更新为3.2.15,问题突然解决了。
gem 'therubyracer', :platforms => :ruby