我目前正在Heroku的Cedar堆栈上运行一个Octopress(基于Jekyll)站点——代码位于此处:https://github.com/elithrar/octopress我想根据文件类型有选择地应用Cache-Controlheader:.html文件获取值public,max-age=3600.css|.js|.png|.ico(等)获得public,max-age=604800的值-或者,我想将此规则应用于/stylesheets'、'/javascripts'、'/imgs'目录提供的任何内容。同时使用了set:static_cache_control,[:publi
我的Rails3应用程序正在使用GrapeAPI。我知道如何在选定的路径上安装该APImountAPI=>'/api'但我需要该api可以在子域api.mydomain.com上访问。我搜索了Grape和Sinatra文档,关于堆栈溢出的问题并尝试用谷歌搜索,但我找不到任何解决方案。 最佳答案 您可以使用constraintsYourAppName::Application.routes.drawdoconstraints:subdomain=>"api"domountAPI=>'/'endend
当我使用Sinatra作为Rack中间件时,我可以在我的Rackup文件中这样做:useMyGloriousApp.newdo|le_app|le_app.settings.set:frobnicate,trueend当我需要中间件末尾的runblock时,我该如何完成相同的操作链?有点像runMyGloriousApp.newdo|le_app|le_app.settings.set:frobnicate,trueend 最佳答案 这是由创建block时do...end语法的优先级引起的。你的例子:runMyGloriousApp
我正在通过以下方式向Sinatra应用程序发送请求:curl-XPOST--header"MyHeader:123444"http://localhost:9292/test-d""如何在路由中访问它?这些不起作用:headers["MyHeader"]request["MyHeader"]request.env["MyHeader"]它们都是零。 最佳答案 您是否尝试过将HTTP添加到header名称?所以它将是request.env["HTTP_MyHeader"]这是机架规范的一部分。
我想从javascript开始一个长轮询请求,这很好,我希望我的rubyprog将多个正文部分流式传输到javascript。为什么以下(伪)代码不起作用?require'rubygems'require'sinatra/async'require'eventmachine'require'thin'require'json'classTest["thisispart#{c}"]}.to_jsonendendendrun!end也许我误解了长轮询和异步应该做什么,但我的期望是我将多个主体发送回客户端?我需要使用eventmachine还是什么?谢谢 最佳
有没有一种简单的方法可以将sinatra(特别是padrino)应用程序“作为”rails应用程序运行?我想,应该有某种方法可以将“railsserver”翻译成“padrinostart”之类的……(我指的托管商也使用mod_rails托管rails。) 最佳答案 如果您使用的是mod_rails(即Passenger),您应该完全没有问题-Passenger可以托管任何基于机架的应用程序,我用它在我的服务器上托管Sinatra、Padrino和Rails应用程序。Sinatra只需要一个非常基本的rackup文件,例如:requ
总体而言,我对Ruby和后端开发还比较陌生。话虽如此,我正在尝试创建一个简单的搜索表单。我使用Sinatra作为框架,使用Datamapper作为我的ORM。做这个的最好方式是什么?下面是我的架构,我希望搜索操作同时搜索磁贴和类别。require'sinatra'require'datamapper'DataMapper.setup(:default,"sqlite3://#{Dir.pwd}/cal.db")classEventincludeDataMapper::Resourceproperty:id,Serialproperty:title,Stringproperty:text
我打算创建一个页面,用户可以在其中加载他的数据并对其进行操作。它应该具有非常类似于桌面的感觉(由ajax驱动)。我评估了一些javascript小部件框架并决定试用ExtJS(尽管任何其他建议都欢迎,只要它支持某种Grid/Table/Cell元素,这绝对是必须的)。问题是,我以前从未做过这样的事情。大多数时候,当我构建常规网页时,它只是少量的jQuery调用来加载html、发送一些数据、隐藏/显示元素,我不得不说这感觉很笨拙,我相信这种方法不会产生效果如果我保持这种状态,最好的结果。我真的很想看看人们如何构建此类页面的一些示例,带有应用程序的存储库会很棒。我非常有兴趣了解如何尽可能无
我在Sinatra项目中组织我的模型很烦人。假设我有2个模型:Post和Comment,nnPost模型,我必须调用Comment模型。现在我有':uninitializedconstantComment(NameError).我知道在订购模型时会遇到问题,但如果我有很多模型怎么办?Rails在要求模型等方面的方式是什么?更新我用这个代码来auto_load我在Sinatra/Rack/Grape应用程序中的模型。此代码应位于代码的顶部,即在引导文件中。models=File.join(File.dirname(__FILE__),'app','models')#pathtoyourm
如何从coffeescript模板中访问ruby实例变量?在sinatra文档中,据说模板在与调用该模板的路由相同的范围内进行评估。所以,我有以下sinatra应用程序:server.rb:require"sinatra"require"coffee-script"get'/app.js'do@str="Hello"coffee:append在views/app.coffe文件中,我想使用@str变量。是否可以?如果是这样,我如何访问@str变量? 最佳答案 只有当您使用erb之类的东西处理咖啡源文件时才有可能。因此,如果您使用