打印ruby sinatra控制器内的任何变量

打印ruby sinatra控制器内的任何变量,ruby,sinatra,slim-lang,Ruby,Sinatra,Slim Lang,我需要输出(比如,在浏览器中显示)一个存在于Ruby sinatra控制器中的变量值: get '/endpoint' do someVariable = MyModel.All # print/output/dump someVariable value ! end 我试过放,放,打印。。。没有任何帮助。您正在寻找的简单方法就是返回一个字符串。然后,此字符串将显示在浏览器中 注意:放入、p等。在服务器日志中打印值,而不是在浏览器中打印。这也很有用,但显然不是你想要的

我需要输出(比如,在浏览器中显示)一个存在于Ruby sinatra控制器中的变量值:

get '/endpoint' do        
  someVariable = MyModel.All
  # print/output/dump someVariable value !
end

我试过
打印
。。。没有任何帮助。

您正在寻找的简单方法就是返回一个字符串。然后,此字符串将显示在浏览器中

注意:
放入
p
等。在服务器日志中打印值,而不是在浏览器中打印。这也很有用,但显然不是你想要的


注意#1,在您的情况下,您返回的是一组对象。这不是字符串,Sinatra无法正确理解,因此您无法在浏览器中看到任何内容。一种解决方案是在将对象发送到浏览器之前序列化对象:

get '/' do
  ..
  object.to_s   # or object.to_json
end 
注意#2(棘手的一个:):通过
到_s
到_json
序列化的对象可能会以这种格式结束:

#<OpenStruct name="John Doe", age=44>

您是要“打印”到浏览器还是终端?如果是浏览器,则需要呈现某种模板,在其中循环并利用
someVariable
。如果您想查看终端中的变量值,请尝试
require'pp'
,然后
pp someVariable
我记得用一种非常简单的方式对浏览器进行了操作。无法添加任何“require”,因为它是一个外部项目。试图用一个以上的步骤做一些非常简单的事情是非常烦人的。谢谢
get '/' do
  ..
  content_type :txt
  object.to_s  # or object.to_json
end