草庐IT

sinatra-assetpack

全部标签

ruby-on-rails - 如果我只需要一个数据库和一个 API,那么使用 Sinatra 而不是 RoR 有什么好处

我需要为手机游戏构建一个网络服务来管理多人游戏的状态。我需要一个数据库和一个RESTfulAPI来访问它。我非常熟悉RubyOnRails,并且正在考虑使用它,因为我可以很快地将数据库和API组合在一起。然而,由于RoR是一个用于构建网页的框架,而我实际上并没有构建任何网页,因此尽管它可以工作,但它自然似乎是一种错误的技术。因此,我正在考虑在Sinatra上使用Ruby,但我以前从未使用过它,我将不得不花一些时间来学习它。对你们这些Ruby大师来说,使用Sinatra是优势还是使用RoR来实现我想要完成的目标?非常感谢您的智慧! 最佳答案

ruby - 如何阻止 sinatra 重写我的标题名称?

Sinatra对所有header名称采用驼峰式封装,导致“P3P”出现问题。代码:require'rubygems'require'sinatra'configure:productiondo#Configurestuffhereyou'llwantto#onlyberunatHerokuatboot#TIP:Youcangetyoudatabaseinformation#fromENV['DATABASE_URI'](see/envroutebelow)end#Quicktestget'/track'do#response.headers['Cache-Control']='publ

ruby - 如何在 Ruby (Rails/Sinatra) 中实现客户端-服务器 API 和授权?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。8年前关闭。我需要关于如何在ruby​​中实现“客户端-服务器”网络应用程序的建议。任何指南和最佳实践都受到高度赞赏。我对Ruby方式和所需的gem感兴趣,因为它是一个理想的平台,以及实现这些东西的一般方式和逻辑。我不是一个优秀的ruby​​程序员,也不是一个有多年经验的熟练系统设计师,所以我真的需要你的帮助,因为我仍然希望这件事最终会大放异彩。应用程序的当前外观应如下

ruby - Sinatra 应用程序中的 gzip Assets

我一直在读到,使用gzip压缩您的Assets会提高网站的性能。在Sinatra应用程序中似乎有很多方法可以做到这一点,所以我希望确认最有效和最容易理解的方法。我遇到过useRack::Deflater在运行应用程序之前应该将其放在我的config.ru文件中,所以在我的情况下require'./david'useRack::DeflaterrunSinatra::Application是吗?就这么简单吗,只是补充一下,我知道这将压缩我所有的静态Assets,包括我的图像,但这些是从CDN提供的,所以这会有什么不同吗?感谢Ant的帮助谢谢 最佳答案

ruby - Sinatra 局部变量与实例变量

Sinatra的局部变量到底是什么?在模板中使用它们与在实例变量中使用它们之间有什么区别吗?这就是我的意思locals:erb:template,:locals=>{:variable=>'value'}编辑:在实现方面,实例变量和局部变量之间有什么区别,使用一个比另一个有什么好处? 最佳答案 来自Sinatra的intro:模板在与路由处理程序相同的上下文中进行评估。路由处理程序中设置的实例变量可由模板直接访问:get'/:id'do@foo=Foo.find(params[:id])haml'%h1=@foo.name'end或

ruby - Sinatra 中的模块化是什么意思?

我想知道是否有人可以简化Sinatra应用程序中Modular的解释。我看到sinatra中有经典设置和模块化设置,但通过阅读文档,我无法完全理解Modular在做什么。如果可能的话,我真的很想得到基本层面的解释,以及为什么将其放入profile.rb会改变应用程序的设置(如果是这样的话)。请记住,我是一个新手,所以简单而透彻的解释是最好的!require'rubygems'require'sinatra'classProfile 最佳答案 这意味着您可以创建一个或多个Sinatra应用程序,就像您在问题中概述的那样,作为同一个su

ruby - 在 Sinatra 1.0 中过滤 block 后无法访问内部的 response.body

我正在为一个奇怪的问题而苦苦挣扎。根据http://github.com/sinatra/sinatra(过滤器部分)响应对象在Sinatra1.0的过滤器block之后可用。但是,可以正确访问response.status,过滤后我无法从内部路由中看到非空的response.body。我有这个rackup文件:config.rurequire'app'runTestApp然后Sinatra1.0.bgem安装使用:geminstall--presinatra这是我的只有一条路线的小应用:app.rbrequire'rubygems'require'sinatra/base'class

ruby - sinatra 和 http PUT

假设我想使用curl以这种方式将文件放入网络服务curl-v--location--upload-filefile.txthttp://localhost:4567/upload/filename在sinatra中我可以做:#!/usr/bin/envrubyrequire'rubygems'require'sinatra'put'/upload/:id'do##tbd#end如何读取流媒体文件?或多或少我想要这样的东西:http://www.php.net/manual/en/features.file-upload.put-method.php#56985

ruby - Sinatra 方法 `development?` 未定义

Sinatra文档说development?将在开发环境时返回true,但我收到一条错误消息,指出方法development?未定义。我尝试跳过速记并测试ENV['RAKE_ENV']变量本身,但它只是零。这是我遇到的错误:undefinedmethod`development?'formain:Object(NoMethodError)这是触发错误的代码:require'dm-sqlite-adapter'ifdevelopment?我正在使用模块化风格的应用程序。上面的行是一个单独的文件,只管理模型。怎么回事? 最佳答案 这个我

ruby - 在 Ruby/Sinatra 中,如何使用 ERB 模板和错误消息停止

在我的Sinatra项目中,我希望能够同时显示错误代码和错误消息来停止:halt403,"Message!"我希望将其依次呈现在错误页面模板中(使用ERB)。例如:error403doerb:"errors/error",:locals=>{:message=>env['sinatra.error'].message}end但是,显然env['sinatra.error'].message(又名自述文件和每个网站都说我应该这样做)没有公开我提供的消息。(此代码在运行时返回undefinedmethod`message'fornil:NilClass错误。)我已经搜索了4-5个小时并试验