如何从 Sinatra 应用程序 运行 外部 Ruby 脚本
How to run external Ruby scripts from a Sinatra application
我的 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
您可以使用 require
或 require_relative
(取决于您的文件是位于静态位置还是相对于此文件)。最后也不需要添加 .rb。
require 'sinatra'
get '/' do
erb :home
end
get '/launch_script' do
require 'path\to\file\delete_rows_csv'
end
我的 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
您可以使用 require
或 require_relative
(取决于您的文件是位于静态位置还是相对于此文件)。最后也不需要添加 .rb。
require 'sinatra'
get '/' do
erb :home
end
get '/launch_script' do
require 'path\to\file\delete_rows_csv'
end