如何从html执行ruby代码?

时间:2012-07-05 04:52:02

标签: html ruby

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

我试过的是

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

但它的作用是什么。它只是取了我在ruby代码中使用的api的url,它从那个api返回json。

2 个答案:

答案 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");
?>