2012-02-23 6 views
1

몇 달 전에 html/php 형식으로 새로운 가상 머신에 대한 정보를 입력하는 형식으로 만들었습니다.HTML 폼에서 루비 스크립트를 실행하십시오.

나는 또한 새로운 가상 머신을위한 새로운 IP 주소를 찾을 수있는 간단한 루비 스크립트를 작성하고있다.

두 프로젝트는 연결되지 않았지만 현재는이 프로젝트에 참여하고 싶습니다.하지만 힘든 시간을 보내고 있습니다. 내가하고 싶은 것은 웹 폼에서 사용자가 제공 한 정보로 루비 스크립트를 실행하는 것이다.

사용자가 새 VM 이름 (vm1)과 vlan id (1)과 같은 다른 항목을 입력한다고 가정 해 보겠습니다. 양식을 올바른 매개 변수 (./script.rb --add vm1 --vlanid 1 - ...)와 함께 시작하도록 할 수 있습니다. 나는 이것을 할 수있는 쉬운 방법을 찾지 만, 그것을 관리하지는 못했습니다. 나는 승객을 태웠지만, 나는 그걸로 길을 잃었고, 단지 내가 원하는 것을하기 위해 그것을 설치하는 것은 너무 잔인 해 보인다.

감사합니다.

+2

임의의 형태의 입력 및 시스템 호출 ... 양식 입력의 일종을 사용하여 스크립트를 실행에주의 할 수 있습니다 : 매우 간단한 웹 인터페이스에 대한 좋은 보석은 그냥 기본 핸들러를 정의 할 수 있습니다, Sinatra입니다 시스템에 대한'rm' 호출처럼 무언가를 무언가로 파이핑하는 것과 같은 것이 될 수 있습니다. :( – summea

+0

이 응용 프로그램은 회사 내부에만 있기 때문에 괜찮을 것이라고 생각하지만 여전히 그렇습니다. 나는 그것에 대해 생각하지 않았습니다. – Cocotton

+0

Rails 또는 Sinatra와 같은 모든 종류의 프레임 워크를 사용하고 있습니까? ? (그냥 당신이 양식을 다루고 있기 때문에 ...) – summea

답변

2

당신은() 간부와 함께 할 수 있습니다 :

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

그것을 할 수있는 또 다른 방법은 루비 스크립트에 웹 인터페이스를 추가합니다.

require 'rubygems' 
require 'sinatra' 

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

나는 sinitra를 시도하고있다. 나는 그것으로 웹 폼을 만들려고 노력할 것이다. – Cocotton

+0

그래, Sinatra 될거야! – Cocotton

관련 문제