从rails app控制器中调用ruby脚本

Dif*_*ffy 2 ruby ruby-on-rails ruby-on-rails-3

我是rails的新手,我有一个脚本,我从控制台运行就像这样

   $ ruby axml2xml.rb ExamPaper.apk
Run Code Online (Sandbox Code Playgroud)

现在,如何在我的控制器方法中调用此脚本并传递相同的参数ExamPaper.apk

我试过,require 'axml2xml.rb'但指出这行代码有一些错误Zip::ZipFile.foreach(ARGV[0]) do |f|.所以基本上,我如何axml2xml.rb 'ExamPaper.apk'在我的控制器中制作一些东西?

Sim*_*tti 5

您至少有3个选项:

  • exec(command)
  • %x{ command }
  • system(command)

它们有不同的行为,因此请务必阅读此快速提示和/或此问题的答案,以了解有关这些命令的更多信息.

在你的情况下,反引号或%x命令可能是最好的选择.

value = `ruby axml2xml.rb ExamPaper.apk`
Run Code Online (Sandbox Code Playgroud)