Ruby 为什么sinatra代码不起作用

Ruby 为什么sinatra代码不起作用,ruby,sinatra,Ruby,Sinatra,我很难弄清楚我到底做错了什么。结果是空的,我希望它返回hello(通过before助手调用方法testing) 这里有几个问题。首先,您必须在视图中实际调用所需的输出或变量,最典型的是作为实例变量(否则每个用户都会得到相同的输出)。以下面修改的代码为例: require 'rubygems' require 'sinatra' get '/' do @word end before do testing end def testing @word = "hello" end

我很难弄清楚我到底做错了什么。结果是空的,我希望它返回
hello
(通过
before
助手调用方法
testing


这里有几个问题。首先,您必须在视图中实际调用所需的输出或变量,最典型的是作为实例变量(否则每个用户都会得到相同的输出)。以下面修改的代码为例:

require 'rubygems'
require 'sinatra'

get '/' do
  @word
end

before do 
  testing
end 

def testing
  @word = "hello"
end

查看免费的在线资源,了解有关Sinatra入门的信息。

这里有几个问题。首先,您必须在视图中实际调用所需的输出或变量,最典型的是作为实例变量(否则每个用户都会得到相同的输出)。以下面修改的代码为例:

require 'rubygems'
require 'sinatra'

get '/' do
  @word
end

before do 
  testing
end 

def testing
  @word = "hello"
end

查看免费的在线资源,了解有关开始使用Sinatra的信息。

因为您没有在Get请求中调用输出,所以需要告诉Get方法返回输出。就像功夫人建议的那样。或者尝试以下最低限度的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!

因为您没有在Get请求上调用输出,所以需要告诉Get方法返回输出。就像功夫人建议的那样。或者尝试以下最低限度的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!