从Web控制Ruby脚本

时间:2015-10-03 20:33:05

标签: ruby web

我有一个用Ruby编写的简单脚本,可以启动和停止可执行文件。我想在一个简单的网页上有两个按钮,启动和停止,并在托管页面的机器上执行代码。这样做最简单/最轻松的方法是什么?

1 个答案:

答案 0 :(得分:1)

我建议将Sinatra用于这么小的任务。让我们从Gemfile开始,如果你正在使用bundler:

source 'https://rubygems.org'
gem 'sinatra'
gem 'slim'

然后只需运行“bundler install”或手动安装这些gems。让我们编写我们的小型Web服务器,使用以下内容创建myapp.rb:

require 'sinatra'

get '/' do
  slim :index
end

post '/start' do
  puts "Starting..."
  redirect '/'
end

post '/stop' do
  puts "Stopping..."
  redirect '/'
end

这基本上为路径“/”,“/ start”,“/ stop”创建了三个处理程序。 “/”呈现苗条的html模板(我们很快就会到达那里),“/ start”和“/ stop”现在只需将文本打印到STDOUT并重定向回“/”。让我们在其中创建一个文件夹“views”和文件“views / 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,这些表单将发布到/ start和/ stop on submit。你可以用

运行它
ruby myapp.rb

这将在端口4567上启动Web服务器。只需转到localhost:4567并按下按钮。现在你可以添加你需要执行的操作而不是put“Starting ...”并添加“Stopping ...”并自定义你的webapp的这个基本外观。