1

我有一个用于 Rails 模型的配套脚本文件,它使用我已经分解成十几个类的层次结构的代码,例如 jQuery/Bootstrap UI 代码、分解不同类型对话框之间的相似性等等。假设我在articles.js.coffee这里作为“主页脚本”使用。

我可以定义 Coffeescript 类,window.ourproject.OurUIDialog将它们命名为app/assets/javascripts/OurUIDialog.js.coffee. 重新启动 Rails 服务器,该类可以是子类,例如window.ourproject.PostInfoDialog extends window.ourproject.OurUIDialog. 只要PostInfoDialog是在articles.js.coffee(在哪里实例化PostInfoDialog),一切都很好。

但是,如果我将子类 ( PostInfoDialog) 移出到一个单独的文件中,例如 ,PostInfoDialog.js.coffee那么尝试在主文章脚本中对其进行任何操作都会产生

Uncaught TypeError: Cannot read property 'prototype' of undefined

再次:

  1. 这围绕着 Rails 模型的配套脚本文件,这里称为articles.js.coffee;
  2. window.ourproject.OurUIDialog无论是在自己的文件中还是在articles.js.coffee
  3. window.ourproject.PostInfoDialog(extends OurUIDialog)只能在它不在单独的文件中时使用,即使查看生成的 HTML 显示PostInfoDialog包含在所有其他脚本文件中。

我正在努力解决这个问题,但我已经没有多少东西可以开始了。有任何想法吗?

4

1 回答 1

0

很确定 Trevor Burnham 在回答这个问题时回答了我的问题;我只是在前十次搜索时没有看到它。:-P

不过,感谢你们俩阅读这篇文章。:-)

于 2012-06-01T10:40:13.957 回答