我正在Windows上运行ruby 1.9.2并试图移植在Ruby 1.8中运行的代码.该代码使用Open4.popen4,以前工作正常.在1.9.2中,我做了以下工作:
gem install POpen4
require 'popen4'
Open4.popen4("cmd") {|io_in,io_out,io_er| ... }
当我这样做时,我收到错误:
no such file to load -- win32/open3
如果我尝试安装win32-open3(gem install win32-open3
),我会收到错误消息:
win32-open3 requires Ruby version < 1.9.0
有谁知道我是如何解决这个问题的?
我正在使用CoffeeScript类和jQuery,并通过ajax加载另一个HTML页面,反过来,它引用另一个javascript,但是在获取ajax加载页面时看到父页面在脚本中加载的类时遇到了问题:
父页面加载一个javascript文件(从CoffeeScript编译):
<script src="/assets/global.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
在CoffeeScript文件中有一个类:
class App
constructor: ->
...
Run Code Online (Sandbox Code Playgroud)
我使用以下方法加载另一个网页:
$.ajax({
url: '/import/show',
success: (data) =>
$('#content').html(data)
})
Run Code Online (Sandbox Code Playgroud)
该页面反过来引用另一个Coffee/JavaScript文件:
<script src="/assets/import.show.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
当这个加载的javascript文件包含:
alert('test')
Run Code Online (Sandbox Code Playgroud)
警报按预期提出.这表明加载代码正常工作.但是,如果子脚本包含:
app = new App()
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Uncaught ReferenceError: App is not defined
Run Code Online (Sandbox Code Playgroud)
如果我将代码放在文档就绪函数中,也会发生这种情况:
$(=> a = new App())
Run Code Online (Sandbox Code Playgroud)
有没有人知道我如何在由父页面加载的脚本中使用由通过ajax加载的子页面加载的脚本中的类?