0
我有一個用Ruby編寫的簡單腳本,可以啓動和停止可執行文件。我想在簡單的網頁上有兩個按鈕,啓動和停止,然後在託管頁面的計算機上執行代碼。什麼是最簡單/最輕的做法?從網絡控制Ruby腳本
我有一個用Ruby編寫的簡單腳本,可以啓動和停止可執行文件。我想在簡單的網頁上有兩個按鈕,啓動和停止,然後在託管頁面的計算機上執行代碼。什麼是最簡單/最輕的做法?從網絡控制Ruby腳本
我會建議使用Sinatra進行這樣的小任務。讓我們的Gemfile開始,如果你使用捆綁:
source 'https://rubygems.org'
gem 'sinatra'
gem 'slim'
然後只需運行「捆綁安裝」或只是手動安裝這些寶石。讓我們寫我們非常微小的Web服務器上,創建myapp.rb有以下內容:
require 'sinatra'
get '/' do
slim :index
end
post '/start' do
puts "Starting..."
redirect '/'
end
post '/stop' do
puts "Stopping..."
redirect '/'
end
這基本上爲路徑「/」,「/啓動」,「/停止」創建三個處理程序。 「/」呈現slim html模板(我們即將到達),「/ start」和「/ stop」現在只需將文本打印到STDOUT並將您重定向回「/」即可。讓我們創建一個文件夾「意見」,並在其文件「的意見/ index.slim」:
doctype html
html
head
title Simple Ruby web interface
body
form method="post" action="/start"
input type="submit" value="Start"
form method="post" action="/stop"
input type="submit" value="Stop"
這將按鈕來呈現爲HTML兩種形式,這將張貼到/啓動/停止間上提交。你可以只用
ruby myapp.rb
這運行將開始在端口4567 Web服務器只是去爲localhost:4567,然後按按鈕。現在,您可以添加需要執行的操作,而不是放置「正在開始...」並放置「正在停止...」並自定義這個非常基本的Web應用程序外觀。
也許,您將在客戶端使用JavaScript,並且我認爲,出於安全原因,通過設計,客戶端上的JavaScript無法在主機上執行代碼。所以,一個靜態網站不能這樣做;你需要一個網絡應用程序來做到這一點。一個簡單的框架是Sinatra。 – sawa
訪問文件系統並做任何你想做的事情。對於php你可以寫'',?php系統('ruby test.rb',$ output);' – marmeladze