如何从Sinatra应用程序运行外部Ruby脚本

时间:2016-06-14 18:16:07

标签: ruby windows google-chrome sinatra

我在Sinatra应用程序之外的文件夹中有一个Ruby脚本,我想通过点击按钮来运行。

这是app.rb文件:

require 'sinatra'

get '/' do
  erb :home
end

get '/launch_script' do
  system("ruby path\\to\\file\\delete_rows_csv.rb")
end

这是home.erb文件:

<a href='/launch_script'> Launch a Script </a>

我是应该加载文件路径还是要求文件才能使其正常工作?

这是一个很有效的解决方案:

require 'sinatra'

get '/' do
  erb :home
end

get '/launch_script' do
  load 'path\\to\\file\\delete_rows_csv.rb'
end

1 个答案:

答案 0 :(得分:1)

您可以使用requirerequire_relative(具体取决于您的文件位于静态位置还是相对于此文件)。最后也不需要添加 .rb

require 'sinatra'

get '/' do
  erb :home
end

get '/launch_script' do
  require 'path\\to\\file\\delete_rows_csv'
end