我在启动EXE的Node JS应用程序中具有以下exec命令:
var exec = require('child_process').exec;
var theApp = 'HelloWorld';
var theCommand = 'C:/Program Files/' + theApp + '/dist/' + theApp + '-win32/' + theApp + '.exe';
exec(theCommand, function(error, stdout, stderr) {
console.log('command callback');
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
Run Code Online (Sandbox Code Playgroud)
EXE可以很好地启动,但是在exec命令中不会触发任何控制台日志,因此好像调用exe不会导致触发回调。例如,如果我执行另一个Node应用程序,node app.js则将触发回调!这是因为我要打开一个EXE!
我该如何解决?
如果我有一个用Ruby编写的页面,其中包含一个表单(它是在Rack/Puma中运行的ERB文件).页面使用ERB.new(File.read('index.html')).result.处理.
如何在没有Rails或其他类似框架的情况下检测POST请求并检查请求参数.宝石会好的!但是文件必须保存为单个文件,因为它直接使用ERB调用(其原因超出了此问题的范围).
在PHP中,我可以这样做:
// if a post request
if($_SERVER['REQUEST_METHOD'] == "POST") {
// if post request contains a password and matches the string
if($_POST['password'] == 'qwe123') {
// do something
} else {
// do something else
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在Ruby中做同样的事情?
在我们的应用程序中,我们想要在一个类上存储一些可以从这个类中检索的信息,我们不想每次都把这些信息传递给这个类......我们想设置一次并让它成为从那时起,每当我们请求该类时都可用。这是因为我们希望 Class 有状态!
所以我们研究了使用 Singleton 类来处理这个问题:
module ExampleModule
class ExampleClass
include Singleton
attr_accessor :field_one, :field_two
end
end
Run Code Online (Sandbox Code Playgroud)
然后在我们的ApplicationController我们做这样的事情:
instance = ExampleModule::ExampleClass.instance
instance.field_one = 'field_one'
instance.field_two = 'field_two'
Run Code Online (Sandbox Code Playgroud)
现在我们随时可以: ExampleModule::ExampleClass.instance
我们可以访问我们为两个字段设置的参数,而不必将它们传递回我们想要实现的类。
然而,我们的问题是……如果用户 1 访问我们的站点,然后设置这些值……然后用户 2 访问我们的站点,我们希望为他们设置不同的类值……实际会发生什么?它会覆盖其他用户的实例值吗?或者这个 Singleton 类是否在用户会话之间保持分开?
我有以下功能,可以向DOM添加输入,并根据屏幕上的最后一个提供顺序ID.然而,它似乎只计算预编辑DOM中的实际最后一个...所以例如,如果我默认有5个输入,它将给出所有新闻和ID为6而不是6,7,8等.我会计算添加的吗?
addInput: function () {
// Get the last input num
$lastNum = $('.inputs input:last-child').length;
// Num is last input plus 1
$num = $lastNum + 1;
// Input HTML
$input = '<input type="text" name="iam' + $num + '" id="iam' + $num +'" />';
// Only allow 10 inputs to be added
if ( $('.inputs input').length > 9 ) {
alert('You can only have a maximum of 10');
return false;
}
// Append the input to the inputs list
$('.inputs').append($input); …Run Code Online (Sandbox Code Playgroud)