我很难弄清楚我在这里做错了什么。结果是空的,我正在寻找它返回(通过帮助程序hello
调用该方法 )。testing
before
require 'rubygems'
require 'sinatra'
get '/' do
end
before do
testing
end
def testing
return "hello"
end
这里有几个问题。一方面,您必须在视图中实际调用所需的输出或变量,最常见的是作为实例变量(否则每个用户都会获得相同的输出。)以下面的修改代码为例:
require 'rubygems'
require 'sinatra'
get '/' do
@word
end
before do
testing
end
def testing
@word = "hello"
end
查看Sinatra Book,一个免费的在线资源,了解如何开始使用 Sinatra。
因为您没有在 Get 请求上调用输出,所以您需要告诉您的 Get 方法返回一个输出。就像thekungfuman建议的那样。或尝试使用 Minimal Hello World Sinatra 应用程序,如下所示:
#imports
require 'rubygems'
require 'sinatra'
#Get Request on Root ("/")
get '/' do
"Hello Sinatra World!"
end
把你的程序放在一个类下也很有用,所以你也可以这样做:
#imports
require 'rubygems'
require 'sinatra/base'
#My Application Class
class AppName < Sinatra::base
get '/' do
'Hello Sinatra World!'
end
end
AppName.run!
这样,您也可以将其用作单独的应用程序文件并将其导入其他文件中,例如。
require 'app_name' #replace this with the name of the physical file
#Run Application "AppName"
AppName.run!