我有以下rails配置:
Windows 7
Rails 4.1.1
Ruby 2.0.0p481
Gem: coffee-rails 4.0.1
Gem: coffee-script 2.3.0
Gem: coffee-script-source 1.9.1
我的应用程序工作正常,但现在没有。我不记得改变什么(git diff
没有透露任何东西)。我得到的错误是:
TypeError: Object doesn't support this property or method
(in c:/Users/mbratc01/Documents/Rails/manpower/app/assets/javascripts/welcome.js.coffee)
Extracted source (around line #9):
7 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => false %>
8 <%= javascript_include_tag 'jquery-1.11.1', 'data-turbolinks-track' => false %>
9 <%= javascript_include_tag 'application', 'data-turbolinks-track' => false %>
10 <%= csrf_meta_tags %>
11 </head>
我还没有Coffeescript项目。 welcome.js.coffee
的内容是:
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
我发现如果我只是将此文件移动到另一个无法访问的位置,则应用程序运行正常。另外,在.coffee
文件夹中放置一个空的app/assets/javascript
文件会产生相同的错误。
我在StackOverflow上看到过几篇看起来非常相似的帖子,但在阅读完它们之后,我找不到问题的根本原因,也无法解决问题而不只是摆脱{{1文件。我怀疑这里有一些关于CoffeeScript功能设置不太正确的东西,但不确定是什么给出了正确的宝石似乎安装。
有人建议可能导致此错误的原因吗?
答案 0 :(得分:6)
根据this,CoffeeScript在Windows上不能很好地发挥作用。您可能希望尝试降级CoffeeScript版本或将其从Gemfile中完全删除。
然后只需将.coffee
文件重命名为普通.js
,并在您的Rails应用中摇滚常规javascript。
答案 1 :(得分:2)
我认为重命名扩展不是好的解决方案。请尝试以下方法:
添加到Gemfile
gem 'coffee-script-source', '1.8.0'
然后,运行
bundle update coffee-script-source
并重新启动服务器(如果需要)