我有一个ruby文件,即sample.rb。我想从我的表单中执行它,实际上我的ruby代码在执行时将写入html文件。所以我需要做的是当我点击表单中的按钮时它应该执行ruby代码然后它必须打开来自执行的html文件在我的表单中的一个框架中。有可能吗?如果可能的话!怎么办?
我试过的是
<?php
exec("./sample.rb")
?>
但它的作用是什么。它只是取了我在ruby代码中使用的api的url,它从那个api返回json。
答案 0 :(得分:1)
可能你应该使用rails http://rubyonrails.org
答案 1 :(得分: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");
?>