Ruby 西纳特拉+;以对虾为例?

Ruby 西纳特拉+;以对虾为例?,ruby,sinatra,prawn,Ruby,Sinatra,Prawn,我在这里一无所知。我该怎么做才能开始这件事 这是我发现的最接近解决方案的东西,但它对我不起作用。 编辑: 我处于非常非常早期的阶段。我真的想尝试在对虾中创建一个hello world,然后在其中添加我的内容。类似这样的内容(app.rb): 您的代码对我来说非常适合,除了我必须将路径从“report/”更改为“/report”(因为当您转到 'http://localhost:4567/report/ ) 我运行的确切代码是: require 'sinatra' require 'prawn

我在这里一无所知。我该怎么做才能开始这件事

这是我发现的最接近解决方案的东西,但它对我不起作用。

编辑: 我处于非常非常早期的阶段。我真的想尝试在对虾中创建一个hello world,然后在其中添加我的内容。类似这样的内容(app.rb):


您的代码对我来说非常适合,除了我必须将路径从“report/”更改为“/report”(因为当您转到

'http://localhost:4567/report/
)

我运行的确切代码是:

require 'sinatra'
require 'prawn'

get '/report/' do
  content_type 'application/pdf'

  pdf = Prawn::Document.new
  pdf.text "Hello World"
  pdf.render

end
这是我的ruby版本:

ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.2.1]

我想你们一定非常亲密。

这很疯狂,但我终于解决了,多亏了你们俩。首先,是的,前面的斜杠上有一个打字错误。但更重要的是,发生的事情是我有一个

get '/:model/?' do

代码顶部附近的行,该行与此路由冲突。因此,我将报告路线移到了顶部。一切正常,我现在可以睡觉了。谢谢。

你能澄清一下这个问题吗?至少提供一些范围,例如您是否希望从Sinatra路由返回动态PDF(最佳猜测)。也许可以添加一段带有???的基本代码???你不知道该怎么办。您是否尝试过通过从磁盘读取来返回二进制PDF?这将您的问题分为知道如何返回PDF和知道如何生成PDF@NeilSlater感谢您的回复。我想做的基本上是让用户转到localhost:4567/report/并生成一个表示hello world的pdf。之后,我可能会自己做一些事情,但现在我在这里束手无策,寻找一个起点。你的例子对我很有用(好吧,如果我将
get'report/'
更改为
get'/report'
)。我在Chrome中内联渲染了hello world PDF。结果证明我很接近,我的文件顶部有一条与此路径冲突的路径。非常感谢。
get '/:model/?' do