草庐IT

sinatra-assetpack

全部标签

ruby - 如何在 Windows 上使用 Thin 启动和停止 Sinatra 应用程序?

classApp从文档中我发现我可以像这样启动应用程序:App.run尽管这不会返回控制权。如何在后台启动应用程序以及如何停止它。我的环境是:Windows,Ruby1.9.2 最佳答案 使用DmitryMaksimov建议的config.ru文件:#config.rurequire'./your_app_file'runYourApp然后从rackup-D开始,这意味着deamonize,因此它在后台运行。不过,我不建议将其用于开发。最好看看Shotgun 关于ruby-如何在Wind

redis - 如何使用 sinatra、sinatra-websocket 和 redis-rb 从 Redis 消息通知 Websockets?

我有这个https://gist.github.com/ohcibi/5418898Gist基本上只是来自sinatra-websocketgithub页面的示例和粘贴的一些Redis代码。部分settings.redis.subscribe'foobar'do|on|on.messagedo|channel,message|settings.sockets.eachdo|s|s.sendmessageendendend正在阻止Sinatra应用程序正常启动,因为subscribe正在阻止。我通过将订阅放在ws.onopen处理程序中取得了小成功,但这会覆盖每个新websocket的订

ruby - 重定向不适用于本地主机上的 sinatra

get'/:shortcode'do@url=redis.get"links:#{params[:shortcode]}"if!@url.nil?redis.incr"clicks:#{params[:shortcode]}"redirect@urlelseredirect'/'endend这是代码片段,它使用参数获取key并检查其是否为nil?。有必要避免redis.incr在key不可用时创建随secret钥。问题是我总是被重定向到/。有什么想法吗?[2014-01-1018:37:50]INFOWEBrick1.3.1[2014-01-1018:37:50]INFOruby2.0

ruby - 如何使用 Redis 在 Sinatra 中存储 session 值?

我正在尝试使用Sinatra和Redis设置一个集群,我需要在Redis上存储session值才能正常工作,但我找不到相关文档。有人知道怎么做吗?谢谢。 最佳答案 您只需要在Sinatra中启用session,并使用set函数将该session对象中所需的任何值保存到redis。enable:sessionsredis.set("session_value",session[:value]) 关于ruby-如何使用Redis在Sinatra中存储session值?,我们在StackOve

sinatra - 如何在 sinatra 中使用 redis-rb

我想将redis与sinatra一起使用,并遵循了guide像这样require"redis"redis=Redis.new然后,我得到了错误LoadError:nosuchfiletoload--redis可能是redis的lib没有加载我从github中获取redis-rb并将redis的库复制到我的sinatra应用程序中。如何安装redis-rb?我用谷歌搜索了类似的东西:rakeredis:install 最佳答案 你有没有在你的“Gemfile”中包含redis?它应该在您的应用程序根目录中。Igittheredis-r

html - 将简单的 sinatra 应用程序转换为静态 html 页面的更好方法是什么?

我的一个friend要求创建一个静态网站,我发现使用Sinatra制作这样的网站是一种纯粹的乐趣。我只是这样写了我所有的路线:get'/index.html'dohaml:indexendget'/app.css'dosass:append....所以我能够使用布局、haml和sass快速将网站放在一起。创建我使用的静态站点wget-r-l2http://localhost:4567哪个工作得很好,但我认为有更好的方法从Sinatra代码创建静态站点? 最佳答案 尝试Httrack 关于

html - sinatra 公用文件夹的 Sinatra 访问控制允许来源

我如何设置Sinatra以便公用文件夹中的静态文件与响应Access-Control-Allow-Origin="*"一起返回? 最佳答案 在这里查看这个问题:SinatraOPTIONSHTTPVerb.它现在已在sinatra中实现,因此您无需绕过它。如果这没有帮助,请查看此博客文章:CrossOriginResourceSharingwithSinatra,及其在github上的repo:sinatra-corss_origin尽管最简单的方法应该是添加以下代码:response['Access-Control-Allow-O

ruby - 在生产服务器上使用 DataMapper 和 Sinatra 设置数据库的正确方法是什么?

来自DataMapperdocument,我认为至少需要调用四个函数来设置数据库:DataMapper.setup(:default,'sqlite:///path/to/project.db')DataMapper.finalizeDataMapper.auto_migrate!DataMapper.auto_upgrade!在许多DataMapper+Sinatra教程中,我了解到auto_migrate!和auto_upgrade!不应在每次将应用程序加载到生产服务器上时调用。但与此同时,许多示例在sinatra应用程序的主ruby​​文件中调用这些函数,比如app.rb,没有额

nginx - 使用 redis/sinatra/thin 开发实时投注引擎

我目前正在使用redis/thin/sinatra构建一个实时投注引擎。可在此处进行预注册http://www.thematchfixer.com我正在使用一些逻辑来说明投注赔率是如何产生的以及它们是如何实时变化的。这一切似乎都运行良好(无论如何,这只是一个游戏,不涉及真钱......所以这里和那里的一些错误赔率并没有太大的区别)。我遇到的问题是使用当前技术堆栈(redis/nginx/thin/sinatra)进行发布/订阅实现的想法。人们建议我应该使用nodejs或erlang,但由于学习曲线和时间不足,我现在不想尝试它们。有什么方法可以在我当前的技术堆栈上实现Comet(并开箱即

sinatra - resque worker 负载分配不公平

我有一个由ActiveRecord支持的ResqueJob,它将发布消息保存到数据库。有7个工作实例正在运行。我向我的sinatra应用程序发送了20K条记录。当我查询redis数据库时,我看到以下结果...redis>getresque:stat:processed:localhost:6929:default"5696"redis>getresque:stat:processed:localhost:6930:default"1"redis>getresque:stat:processed:localhost:6942:default"1"redis>getresque:stat: