【问题标题】:Trying to use coffeescript in a rails engine尝试在 Rails 引擎中使用咖啡脚本
【发布时间】:2013-12-04 19:48:16
【问题描述】:

我正在尝试在引擎中使用一些咖啡脚本,但一旦我将文件命名为:

*.js.coffee or *.coffee

一个错误被触发,我无法加载页面:

ExecJS::RuntimeError at /mylocation
SyntaxError: unexpected IDENTIFIER

页面无法加载。我的咖啡脚本正在另一个应用程序中工作(实际上我正在尝试将逻辑从主应用程序提取到引擎)。当我尝试在引擎中使用它时,如果它是一个 .coffee 文件,它就会失败。

我在核心应用程序的 gemfile 中:

gem 'coffee-rails'

在引擎 gemspec 中:

s.add_dependency 'coffee-rails'

如果我将文件重命名为 *.js,页面会加载,但我当然会在 js 控制台中看到语法错误。

知道我应该在哪里看或者我应该怎么做才能在我的引擎中使用coffeescript?

【问题讨论】:

    标签: ruby-on-rails coffeescript


    【解决方案1】:

    “意外标识符”表示您尝试引用的变量尚未声明。可能是一个不在 coffescript 回调中的函数?

    确保传递您尝试使用的所有变量。

    【讨论】:

    • 嗨 JellyFishBoy,问题是页面加载不起作用。这不是不执行的javascript。例如,如果我评论文件中的所有内容,它也不起作用。但是,如果我重命名页面加载的文件,当然会发生 js 错误,因为它没有在 js 中转换。我可以编辑我的帖子以复制脚本,但它是触发 select2 下拉列表的一个非常基本的脚本。没什么特别的,我可以用 js 编写它来使其工作。
    • 您是否尝试过删除 Gemfile.lock 并重新安装包以确保咖啡 gem 安装正确?
    • 在主应用还是在引擎中?
    • 我会在几秒钟内尝试,但在使用引擎的核心应用程序中,coffeescript 文件工作正常。
    【解决方案2】:

    我发现我的愚蠢错误,我正在使用的文件是旧的 js 文件,当我将它转换为咖啡时,我忘记更改 cmets 行( // 到 # )...

    【讨论】:

      猜你喜欢
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2015-01-02
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      相关资源
      最近更新 更多