【发布时间】:2015-03-20 17:10:28
【问题描述】:
这是我正在尝试做的快速视觉:
var hostAppJs = {
callMe: function(){
alert("CALL ME FROM MAIN APP ");
}
}
var hookedInEngineJs = {
init: function(){
$('button').on('click', function(){
hostAppJs.callMe();
});
}
}
hookedInEngineJs.init();
基本上,我希望所有主机应用程序的 javascript 都可用于已安装的引擎。当 javascript 为我的已安装引擎绑定在一起时,它应该看起来像上面那样,即使 hostAppJs javascript 对象仅存在于主机应用程序中,而 hookedInEngineJs javascript 对象仅存在于已安装引擎中。
我遇到的问题是,当我在已安装的引擎中时,它找不到 hostAppJs 对象,因此似乎没有为已安装的引擎正确加载它。
这是我的主机应用程序的 application.js 文件:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
这是我安装的引擎的application.js 文件:
//= require '/<absolutePathToHostApp>/assets/javascripts/application.js'
//= require_tree .
所以我假设对于我安装的引擎,来自主机应用程序的所有 javascript 都被加载并可供我的引擎使用,然后它加载所有自己的 javascript。因此,我认为我的主机应用程序的 javascript 可用于我的引擎。很遗憾,它不起作用。
感谢任何帮助,谢谢!
【问题讨论】:
标签: javascript jquery ruby-on-rails asset-pipeline rails-engines