Rails 3.2 + CoffeeScript +命名空间+单独文件=混乱

时间:2012-06-01 05:58:59

标签: ruby-on-rails ruby-on-rails-3 coffeescript

我有一个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.coffeePostInfoDialog的实例化),一切都很好。

但是,如果我将子类(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. 中都会被选中
  4. window.ourproject.PostInfoDialog(扩展OurUIDialog)只能在单独的文件 中使用,即使查看生成的HTML节目PostInfoDialog包含在所有其他脚本文件中。
  5. 我正在试图弄清楚我的头发,我开始没有多少余地。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当他回答this one时,很确定Trevor Burnham回答了我的问题。我刚刚搜索过的十几次没看到它。 :-P

感谢你们俩读这篇文章。 : - )