草庐IT

sinatra-assetpack

全部标签

ruby - Thin 中的用户线程,Heroku 上的 Sinatra 应用程序

我有一组特定于我应用程序的每个用户的耗时操作,它们都封装在一个方法中(例如write_collections方法)。在这个方法中,程序与Facebook和MongoDB进行通信。我想在每个用户的线程中运行此方法。此线程在get'/'Sinatra路由中调用,但线程的结果(数据库中的状态)仅在get'/calculate'上需要。我的想法是在get'/'上运行线程并在get'/calculate'上加入它,以确保在计算之前所有用户的数据都已正确写入数据库用户启动的结果。举例说明:方法一get"/"do@user=@graph.get_object("me")data_thread=Thr

ruby - 如何测量 Rack 或 Sinatra 应用程序的内存使用情况?

如何衡量Rack或Sinatra应用程序的内存使用情况?我知道这可能在很大程度上取决于它的部署方式。但是,您如何基本了解它使用了多少内存? 最佳答案 如果您使用的是passenger,您可以尝试passenger-memory-stats,它可以为您提供一个按站点划分的很好的概览,否则您可以通过使用top、shift-M并查找ruby​​来了解内存使用情况过程。 关于ruby-如何测量Rack或Sinatra应用程序的内存使用情况?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 在 sinatra 子应用程序中过滤之前

我有一个Rails应用程序和一个Sinatra应用程序:路线.rb:mountMySinatraApp=>"/streaming"sinatra应用程序:classMySinatraApp我希望过滤器仅在以/streaming...开头的请求上运行,但是,令我惊讶的是,过滤器在对整个Rails应用程序的每个请求上运行。对于这种行为我能做什么?我可以在before之后添加一个正则表达式过滤器,但我认为这不是一个好的样式。 最佳答案 嗯,我换了mountMySinatraApp=>"/streaming"与match"/streamin

ruby - Sinatra:NoMethodError

Wholesourcecodehere我觉得我的程序流程有逻辑错误,返回NoMethodError首先,一段导致错误的代码。"/>#ErrorTextNoMethodErrorat/profileundefinedmethod`identity'fornil:NilClassfile:journal_form.erblocation:blockinsingletonclassline:2输入标签内的代码正是错误文本中描述的代码片段。我的程序流程就是这样。用户登录如果身份验证成功,他/她将被重定向到/profile页根据他们的角色/权限,他们将在“/profile”的主要区域内看到不同的

ruby - 将 Ruby 脚本作为 Sinatra 的子进程/另一个线程运行的最佳方法是什么?

我有一个Sinatra应用程序,我计划在Heroku上托管。此应用程序从网络上的其他页面中部分地抓取大量信息并将信息存储到数据库中。这些报废操作是一个缓​​慢的过程,因此我需要它们在与我的Sinatra应用程序分开的另一个线程/进程中运行。我的计划是为每个进程设置一个按钮,我可以单击该按钮,然后在后台进行报废。我不确定执行此操作的最佳方法是什么,Heroku允许的操作使它变得复杂。 最佳答案 有一个叫做hirefire的gem专门为此:HireFireautomatically"hires"and"fires"(aka"scales

ruby - Sinatra Url '/' 解释

我是一个ruby​​新手,现在已经尝试Sinatra一段时间了,我无法弄清楚的一件事是为什么url中的“/”会产生如此大的差异。我的意思是不是:get'some_url'doend和get'some_url/'doend应该指向同一条路线?为什么Sinatra认为它是不同的路线?我花了整整一个小时试图弄明白这一点。 最佳答案 根据RFC2616和RFC2396(定义资源标识的RFC),这些URL不定义相同的资源。因此Sinatra以不同的方式对待它们。这是特别的。如果您想象路由返回带有相关链接的页面,则很重要。这个链接clickme

ruby - 在 Sinatra 中使用查询字符串触发另一个路由

我正在编写一个将多个路由的响应捆绑在一起的路由,因此我需要从Sinatra中触发其他路由。我在Sinatra自述文件中找到了执行此操作的代码:status,headers,body=callenv.merge("PATH_INFO"=>'/bar')但是,它不会发送查询字符串。所以我尝试了这个:status,headers,body=callenv.merge("PATH_INFO"=>'/bar',"QUERY_STRING"=>'param=1')这似乎行不通。我如何调用另一个路由并传递查询字符串,以便字符串中的值最终出现在被调用路由的参数散列中。我们使用的是Sinatra1.3.

ruby - node-webkit 等同于 sinatra?

我一直在考虑学习如何基于网络技术制作简单的MacOSX应用程序,我遇到了node-webkit,它看起来很有吸引力。但是,我最近投入了学习Sinatra/Ruby的基础知识,我想继续学习这门类(class)。是否有适用于使用Sinatra的开发人员的“node-webkit等价物”?或者,是否有推荐的方法来使用Sinatra框架(或Ruby)来构建本质上是Web包装器的OSX应用程序? 最佳答案 Sinatra是一个服务器端框架。与客户端的Node-webkit相反。如果您需要与服务器交互,您仍然可以在服务器上使用sinatra(以

ruby - Sinatra "after"过滤器

Sinatra有一个“前”过滤器,但有没有一种简单的方法来实现“后”过滤器? 最佳答案 似乎有一些patch为此。 关于ruby-Sinatra"after"过滤器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1512613/

ruby - 在 Cucumber 中添加 Sinatra 助手

我目前正在努力从Cucumber中删除我的Sinatra应用程序的辅助方法。我有一个带有简单session身份验证(通过cookie)的Sinatra应用程序,我想通过为我的删除logged_in?辅助方法来关闭身份验证cucumber场景。Sinatra和Cucumber似乎在session方面存在问题,所以我考虑只使用Mocha来解决这个问题。但是我不知道如何从Given-Block中访问Sinatra::Application实例以stub该方法。 最佳答案 看来我需要在Before...end-block中直接覆盖我的身份验