Запустите скрипт ruby ​​из формы HTML - PullRequest
1 голос
/ 23 февраля 2012

Пару месяцев назад я создал форму в html / php, которая будет использоваться для ввода информации о новой виртуальной машине.IP-адрес для новой виртуальной машины.

Эти два проекта не были связаны, но сейчас я бы хотел, чтобы это было ... но у меня трудные времена.Я хотел бы запустить скрипт ruby ​​с информацией, предоставленной пользователем в веб-форме.

Допустим, пользователь вводит имя новой виртуальной машины (vm1) и некоторые другие вещи, напримерVLAN ID (1).Я бы хотел, чтобы форма запускала скрипт с нужными параметрами (./script.rb --add vm1 --vlanid 1 --...).Я пытался найти простой способ сделать это, но не смог.Я установил пассажирский, но я отчасти потерян с этим, и это кажется довольно излишним - устанавливать его только для того, что я хочу.

Спасибо, ребята!

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Вы можете сделать это с помощью exec ():

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

Еще один способ сделать это - добавить веб-интерфейс в ваш скрипт на Ruby. Отличная жемчужина для очень простых веб-интерфейсов - Sinatra , вы можете просто определить основной обработчик:

require 'rubygems'
require 'sinatra'

get "/" do
  # do what you need to do, all the GET arguments are in the params Hash
end
1 голос
/ 23 февраля 2012

Пока вы уверены в вводе формы (как уже упоминалось в комментарии ранее:)

Возможно, вы просто захотите использовать эту форму POST data ( как в этой статье: http://biodegradablegeek.com/2008/04/how-to-post-form-data-using-ruby/).

А затем попробуйте выполнить вызов system ( как этот ) (или exec как этот ,) к вашему скрипту VM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...