如何修复模板错误“CoffeeScript not defined”

时间:2016-12-15 21:20:20

标签: ruby-on-rails ruby coffeescript

我正试图让我的项目显示出来。但是我得到了这个错误:

ActionView::Template::Error (ReferenceError: CoffeeScript is not defined):
4:     <title>Myapp</title>
5:     <%= csrf_meta_tags %>
6:
7:     <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
8:     <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
9:   </head>

10:

当我删除第7-8行时,它会起作用,但我没有CSS或JavaScript。

一周前我没有收到此错误。我不确定原因是什么。我试过切换Rails版本。我已经尝试卸载Postgres并重新设置它,但它似乎不是问题。 我有Rails 5.0.0.1和“Ruby 2.3.3p222(2016-11-21修订版56859)[x86_64-darwin16]”。我也在使用Mac OS Sierra。

我可以将'应用'更改为'默认'并且它可以正常工作,但我不明白为什么它在一周前工作,而不是现在。

我也设置了我的视图和控制器,这就是我删除第7-8行时它的工作原理。

这是我的宝石文件:

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
# Use postgresql as the database for Active Record
gem 'pg', '~> 0.18'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console'
  gem 'listen', '~> 3.0.5'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

2 个答案:

答案 0 :(得分:6)

最近更新的coffe-script-source gem 1.12.1存在问题。问题是此版本中的源文件为空。已经有一个open issue,应该尽快解决。

现在你可以将它添加到你的GemFile

gem 'coffee-script-source', '= 1.11.1'

并运行bundle update coffee-script-source直到它被修复。

答案 1 :(得分:0)

我还必须使用gem uninstall coffee-script-source,然后使用gem install coffee-script-source ...因为我的gemfile.lock没有更新,无论我做了多少次&#39;捆绑安装&#39;或者&#39;捆绑更新&#39;删除coffe-script&amp; gemfile中的coffee-script-source条目。