如何从 html 执行 ruby 代码



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

我尝试的是

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

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

也许你应该为这个 http://rubyonrails.org 使用导轨

您正在将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");
?>

最新更新