我正在使用 Ruby on Rails 开发一个 Web 应用程序,并在 Linux (ubuntu) 服务器上运行它。我的后端处理基于 Windows .bat 文件,该文件根据大约 5 个参数的列表调用其他 .bat 文件的网络。
所以基本上,我试图通过我的 Rails 应用程序中的 wine 调用带有命令行首选项的初始批处理文件。
例如,这类似于我用来在 ubuntu 终端中成功运行代码:
wine cmd.exe /C InitialCallFile.bat Directory/Input.xml Directory/Output.xml param1 param2
我试图用 Ruby 中的 System 和 %x 命令来调用它。例如:
System "wine cmd.exe /C InitialCallFile.bat self.infile self.outfile self.param1 self.param2"
system wine cmd.exe InitialCallFile.bat [self.infile, self.outfile, self.param1, self.param2]
%x[wine cmd.exe /C InitialCallFile.bat self.infile self.outfile self.param1 self.param2]
和其他类似的变体
但是,程序无法识别 cmd 并返回错误:未定义的局部变量或方法 `cmd'
我应该如何使用 Ruby on Rails 在 wine 中正确调用应用程序?