我附上了一个Sinatra应用程序Sinatra::Base,我想在服务器启动后运行一些代码,我该怎么做呢?
这是一个例子:
require 'sinatra'
require 'launchy'
class MyServer < Sinatra::Base
get '/' do
"My server"
end
# This is the bit I'm not sure how to do
after_server_running do
# Launches a browser with this webapp in it upon server start
Launchy.open("http://#{settings.host}:#{settings.port}/")
end
end
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
使用配置块不是执行此操作的正确方法。每当您加载文件时,都会运行命令。
尝试扩展 run!
require 'sinatra'
require 'launchy'
class MyServer < Sinatra::Base
def self.run!
Launchy.open("http://#{settings.host}:#{settings.port}/")
super
end
get '/' do
"My server"
end
end
Run Code Online (Sandbox Code Playgroud)