草庐IT

sinatra-assetpack

全部标签

ruby - 在 Sinatra 中,我可以在路由和 View 中使用变量吗?

所以我正在学习使用Sinatra(非常基础)并且我了解以下基本代码:get'/derp'dohaml:derpend我很快开始思考:如果我有十几页,我是否必须像上面那样为每个url编写一个get/do语句?必须有一种方法可以使用变量来做这样的事情:get'/$var'dohaml:$varend其中$var是我输入的任何内容。基本上,如果我在地址栏中输入/foo,我希望Sinatra查找名为foo的View。haml并使用它,否则显示404。/bar、/derp等也是如此。这可能吗?我是否误解了它应该如何工作的一些基本方面-我是否应该在继续学习的同时忽略这个问题并稍后再回来?这似乎是一

ruby - Sinatra::Streaming with Rack 不分块响应

我在尝试使用Sinatra和Rack进行这个简单的流式传输测试时遇到了困难。在我的stream.rb文件中,我有:require'sinatra'require'sinatra/streaming'classStreamAPI在我的config.ru中我有:require'rack'require'./stream.rb'runStreamAPI当我curlurl时,我得到“Hello!”5次,但在5秒后一次。查看header,我可以看到Transfer-Encoding设置为Chunked。我想要的是一个“你好!”暂停1秒后通过另一个。编辑:除了下面选择的答案外,我还需要将proxy

ruby - 使用 Datamapper 在 Sinatra 中选择、复选框和单选按钮元素

在Sinatra中使用Datamapper,保存文本属性真的很容易:DataMapper::setup(:default,"sqlite3://#{Dir.pwd}/tailor.db")classPersonincludeDataMapper::Resourceproperty:id,Serialproperty:name,String,:required=>trueproperty:height,String,:required=>falseendDataMapper.finalize.auto_upgrade!...put'/:id/edit'dop=Person.getpara

ruby - 如何从 sinatra 应用程序中发布的 JSON 中捕获参数哈希

我有这个curl调用:curl-v-H"Accept:application/json"-H"Content-type:application/json"-XPOST-d'{"name":"abc","orgid":"12","subject":"mysubject"}'http://localhost:3000/mysinatraapppost'/mysinatraapp'dounlessrequest.preferred_type.eql?'text/html'#Thisisnotreallyparamshash.Itwillbeastringlike"{\"name\"=>\"a

ruby - `<module:Templates>':使用 Sinatra/Unicorn 的未初始化常量 Tilt::CompileSite (NameError)

我是Ruby世界的新手。我使用Sinatra创建了我的第一个应用程序,但在我的生产服务器上遇到了一些问题。当我在我的本地机器上运行unicorn-crandmovie_unicorn.rb时,它工作得很好。但是在生产中,我得到了这个错误:':uninitializedconstantTilt::CompileSite(NameError)在我的randmovie_unicorn.rb文件中:preload_apptrueworking_directory"./"listen8006worker_processes2timeout30我没有使用HAML或任何类似的东西。有人可以帮我吗?谢

ruby - 如何访问 Sinatra 中的所有表单字段?

Sinatra可以很容易地通过名称访问任何特定的传入表单字段:post"/"doparams['form_field_name']end但是如何枚举请求中的所有表单字段?我在文档中什么也没找到。我什至尝试过request.body.split('&')但是request.body是StringIO的实例,而不是字符串。 最佳答案 如果params是一个散列,你可以试试:params.keys.eachdo|k|puts"#{k}-#{params[k]}"end 关于ruby-如何访问S

ruby-on-rails - 如何使用 Sinatra 应用程序在 Heroku 中运行 cron 作业

我正在编写一个小型Sinatra应用程序,我想将其托管在Heroku上为了简单起见。但是,我的任务是每小时删除一些网站并将一些数据添加到我的数据库中。目前,这只是作为需要执行的ruby​​脚本编写的。Heroku拥有的是一个rakebasedcronjob.现在,如果这是一个Rails应用程序,我可以很容易地做到这一点,但我想避免像这样简单的事情造成困惑。有没有办法避免这种情况?还是我必须在我的应用程序中安装rake?谢谢。埃里克 最佳答案 你需要一个像这样的Rakefile:desc"ThistaskiscalledbytheHe

ruby - Heroku 上的 Sinatra/Thin 未检测到 HTTP 流连接 (SSE) 客户端断开连接

我正在尝试在Cedar堆栈上部署Sinatra流式SSE响应应用程序。不幸的是,虽然它在开发中完美运行,但一旦部署到Heroku,callback或errback永远不会在调用连接时被调用,导致连接池被陈旧的连接填满(永远不会超时,因为数据仍在服务器端发送给他们。)来自Heroku文档的相关信息:Long-pollingandstreamingresponsesCedarsupportsHTTP1.1featuressuchaslong-pollingandstreamingresponses.Anapplicationhasaninitial30secondwindowtorespo

ruby - 通过 send_file 发送文件后,如何删除 Sinatra 中的文件?

我有一个简单的sinatra应用程序,它需要生成一个文件(通过外部进程),将该文件发送到浏览器,最后从文件系统中删除该文件。沿着这些线的东西:classMyApp然而,似乎send_file调用完成了请求,并且它之后的任何代码都没有运行。有没有办法确保生成的文件在成功发送到浏览器后被清理干净?或者我是否需要求助于在某个时间间隔运行清理脚本的cron作业? 最佳答案 不幸的是,当您使用send_file时没有任何回调。这里常见的解决方案是使用cron任务来清理临时文件 关于ruby-通过s

ruby - Sinatra - response.set_cookie 不起作用

我需要为我的Sinatra应用程序使用cookie。如果我使用最简单的方法是可行的:response.set_cookie('my_cookie','value_of_cookie')但我需要一些选项,例如域和到期日期,所以我试试这个:response.set_cookie("my_cookie",{:value=>'value_of_cookie',:domain=>myDomain,:path=>myPath,:expires=>Date.new})不起作用。没有制作cookies。我太需要这个了....请帮忙...谢谢! 最佳答案