-4

我有一个 ruby​​ 文件,即 sample.rb。我想从我的表单中执行它,实际上我的 ruby​​ 代码在执行时会写入一个 html 文件。所以我需要做的是,当我单击表单中的按钮时,它应该执行 ruby​​ 代码,然后它必须打开在我的表单中的一个框架中执行的 html 文件。有可能吗?如果可能的话!怎么做?

我试过的是

<?php
exec("./sample.rb")
?>

但它的作用是。它只是获取了我在 ruby​​ 代码中使用的 api 的 url,并从该 api 返回了 json。

4

2 回答 2

1

可能你应该为此使用 Rails http://rubyonrails.org

于 2012-07-05T05:17:17.840 回答
1

sample.rb作为外部命令调用,就像任何其他 shell 脚本一样。因此,您必须自己捕获和处理其输出

您说“它从 api 返回 JSON”。没关系,你可以提取你感兴趣的数据,例如:

<?php
  $json = exec("./sample.rb");
  $data = json_decode($json);
  $url = $data->url; # assuming there is an URL field
?>

现在您可以例如输出一个链接:

<a href="<?php echo $url ?>">click</a>

或生成一些 JavaScript:

<script>
  window.location.href="<?php echo $url ?>";
</script>

或通过 HTTP 标头重定向用户:

<?php
  header("Location: $url");
?>
于 2012-07-05T07:02:24.463 回答