从HTML表单运行ruby脚本

时间:2012-02-23 18:04:02

标签: php html ruby forms

几个月前,我在html / php中创建了一个用于输入新虚拟机信息的表单。

我一直在研究一个简单的ruby脚本,它会为新的虚拟机找到一个新的IP地址。

这两个项目没有联系,但现在我希望它......但是我很难过。我想要做的是使用用户在Web表单中提供的信息运行ruby脚本。

让我们说用户输入新的VM名称(vm1)和其他一些东西,比如它的vlan id(1)。我希望能够让表单使用正确的参数(./script.rb --add vm1 --vlanid 1 --...)启动脚本。我试图找到一种简单的方法来做到这一点,但没有成功。我安装了乘客,但我有点迷失了,安装它只是为了做我想要的东西似乎太过分了。

谢谢你们!

2 个答案:

答案 0 :(得分:2)

您可以使用exec()执行此操作:

<?php
// TODO: Security checks!
exec("./script.rb --arg1 $arg1 --arg2 $arg2 &");
?>

另一种方法是在Ruby脚本中添加一个Web界面。非常简单的Web界面的一个很棒的宝石是Sinatra,你可以定义一个基本的处理程序:

require 'rubygems'
require 'sinatra'

get "/" do
  # do what you need to do, all the GET arguments are in the params Hash
end

答案 1 :(得分:1)

只要您确定表单输入(如前面评论中所述)

您可能只想查看使用该表单POST数据(,如本文所述: http://biodegradablegeek.com/2008/04/how-to-post-form-data-using-ruby/)。

然后尝试在您的VM脚本中运行system来电(like this)(或exec like this)。