草庐IT

sinatra-assetpack

全部标签

ruby - 登录 Sinatra?

我无法弄清楚如何使用Sinatra记录消息。我不是要记录请求,而是要在我的应用程序的某些点上自定义消息。例如,在获取URL时,我想记录"Fetching#{url}"。这是我想要的:指定日志级别的能力(例如:logger.info("Fetching#{url}"))在开发和测试环境中,消息将写入控制台。在生产中,只写出与当前日志级别匹配的消息。我猜这可以在config.ru中轻松完成,但我不能100%确定要启用哪个设置,以及是否必须手动创建一个Logger我自己的对象(此外,要使用哪个类的Logger:Logger、Rack::Logger或Rack::CommonLogger).(

ruby-on-rails - Sinatra 与 Rails

我研究过一些Sinatra和Rails示例,但我很难弄清楚哪些功能属于哪种技术。使用Sinatra/Rails我有什么特别的收获?它只是ActionPack/ActionView吗?如果我错了请纠正我,但我可以只使用Webrick/Mongrel并提供我的.erb文件吗?我可以在这些文件中使用ActiveRecord技术,并且仍然可以访问发布变量、session状态和查询字符串变量,对吗?所以,我要问你们的是,如果我从上面类似PHP的场景开始;Webrick+ERB+ActiveRecord,使用Sinatra有什么好处?使用Rails我还能得到什么? 最佳

ruby - 如何让 Sinatra 在每次更改后自动重新加载文件?

我正在使用#my_app.rbload'index.rb'然后像这样启动服务器rubymy_app.rb但它永远不会重新加载我在索引页面中所做的任何更改。我在这里错过了什么吗? 最佳答案 参见SinatraFAQ,"HowdoImakemySinatraappreloadonchanges?"Firstoff,in-processcodereloadinginRubyishardandhavingasolutionthatworksforeveryscenarioistechnicallyimpossible.Whichiswhyw

ruby - 使用 Sinatra 提供静态文件

我有一个仅使用HTML、CSS和JavaScript的页面网站。我想将应用程序部署到Heroku,但我找不到执行此操作的方法。我现在正在尝试使应用程序与Sinatra一起工作。.|--application.css|--application.js|--index.html|--jquery.js`--myapp.rb下面是myapp.rb的内容。require'rubygems'require'sinatra'get"/"do#WhatshouldIwriteheretopointtothe`index.html`end 最佳答案

ruby - 通过多个文件将 Sinatra 用于更大的项目

似乎在Sinatra中,所有路由处理程序都被写入单个文件,如果我理解正确的话,它充当一个大/小Controller。有什么方法可以将它拆分成单独的独立文件,所以当假设有人调用“/”时-执行一个操作,如果收到类似“/posts/2”的smth,那么另一个操作-在PHP中应用类似的逻辑? 最佳答案 这是我使用的Sinatra应用程序的基本模板。(我的大型应用程序有200多个文件像这样分解,不包括供应商的gem,涵盖75-100条显式路由。其中一些路由是Regexp路由,覆盖了额外的50多个路由模式。)使用Thin时,你运行一个像这样的应

javascript - 如何使用 Dino 和 Sinatra 显示传感器输出?

我想在我的页面上显示连接到Arduino的传感器(湿度)之一的输出。按照脚本,每隔一秒给我一些值(数字)。require'dino'board=Dino::Board.new(Dino::TxRx.new)sensor=Dino::Components::Sensor.new(pin:'A0',board:board)on_data=Proc.newdo|data|putsdatasleep1endsensor.when_data_received(on_data)sleep我想我可以使用Sinatra作为API和Javascript脚本来显示异步输出。所以应该是这样的%w(sinat

windows - 在 Windows 上启动 Sinatra 应用程序时,shotgun gem 会爆炸

Sinatra应用程序:require"rubygems"require"sinatra"get'/'do"Helloworld.It's#{Time.now}attheserver!"endWindowsXP和最新版本的mongrel、sinatra、shotgun。ruby1.8.6运行shotguntest_app.rb结果为C:\Files\sites\sinatra>shotguntest.rb==ShotgunstartingRack::Handler::Mongrelonlocalhost:9393ThuDec0316:51:37-08002009:Readerror:#

javascript - Angular.js 与 Sinatra

我想在我的Sinatra应用程序中使用Angular.js。不幸的是,我找不到任何有用的提示。我确实找到了一些Rails示例,但是与Sinatra的简约哲学相比,我总是发现Rails和Padrino很难处理。我看了很多视频(通过谷歌搜索angular.js找到的),但我仍然觉得很难申请到Sinatra。迄今为止我找到的最全面的教程是one来自yearofmoo.com。但我仍然迷失了尝试将其应用于Sinatra,并且破解我的出路似乎不是一个选项,因为任何地方的简单错误都可能让我偏离正确的道路。我迷路了,我承认!!如果分享任何基于您尝试做类似事情的经验的帮助,我们将不胜感激。在这一点上,

ruby - 使用 Sinatra 模块化样式为每个实例而不是每个请求创建一个变量

我有一个Sinatra应用程序,以模块化风格编写,在Heroku上运行。它使用Redis,我的Redis连接数量有限(10)。我发现它经常会抛出错误,提示它用完了Redis连接。所以我开始使用connection_pool希望能解决问题;单个Redis连接池,应用程序每次都会选择其中一个,而不是尝试在每个请求上创建一个新连接。但我仍然遇到同样的问题。我可以在单个查询上执行大量Redis查询而不会产生任何提示。但是,如果我重新加载一个测试页面,它只执行一些Redis查询,并且相当快地连续多次,我会再次收到“Redis::CommandError-ERRmaxnumberofclients

ruby - Redis 在 sinatra rake 任务中不工作

我想在我的Sinatra应用程序中使用Redis。虽然我可以在本地和远程(heroku)的控制台中访问Redis实例,但当我想在rake任务中使用它时,会触发一个错误,我似乎不明白为什么会这样。应用.rb:classMyAppuri.host,:port=>uri.port,:password=>uri.password)endend配置.ru:require'rubygems'require'sinatra'require'./app'runMyAppgem文件gem'redis'Rake文件.rbdesc'TryRedis'task:try_redisdoputs$redis.se