- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
好的,这是一个简单的任务。在我向客户端呈现 html 之后,我想使用请求中的信息执行数据库调用。
我正在使用 sinatra,因为它是一个轻量级的微框架,但我真的支持 ruby 中的任何东西,如果它更快/更容易(Rack?)。我只想获取 url 并根据 url 将客户端重定向到其他地方。
那么如何使用 rack/sinatra 作为一个真正的 after_filter。 after_filter 我的意思是在响应发送到客户端之后。还是没有线程就无法实现?
我 fork 了 sinatra 并在过滤器之后添加,但是没有办法刷新响应,即使是假设流式传输文件(显然是二进制文件)的 send_data 也在等待 after_filters。
我看过这个问题:Multipart-response-in-ruby但答案是铁轨。而且我不确定它是否真的将响应刷新到客户端,然后允许事后处理。
Rack::Callbacks 有一些之前和之后的回调,但即使是那些看起来会在响应发送到客户端之前运行的 Rack::Callbacks 实现(添加评论):
def call(env)
@before.each {|c| c.call(env) }
response = @app.call(env)
@after.each {|c| c.call(env) }
response
#i am guessing when this method returns then the response is sent to the client.
end
所以我知道我可以使用 rake 通过 shell 调用后台任务。但最好不要太...还有NeverBlock但这是否适合在不延迟响应的情况下执行单独的进程,或者它仍然会让应用程序等待整个过程(我认为会)?
我知道这很多,但简而言之,在 ruby/sinatra/rack 中发送响应后真正运行的 after_filter 很简单。
感谢阅读或回答我的问题! :-)
最佳答案
将 run_later 端口修改为 rails 以执行此操作文件可在此处获得:
http://github.com/pmamediagroup/sinatra_run_later/tree/master
关于ruby - 真正的 sinatra(ruby/rack) after_filter 最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/513491/
如果操作引发异常,是否有类似于 after_filter 的东西仍然运行? 我正在使用外部记录器(因为我在 Heroku 上);响应头被过滤并记录在 after_filter 中。如果引发异常,过滤器
在我的 Controller 类声明之后,我有以下代码 before_filter :load_form, :except => [:create, :update, :delete] aft
[Rails 3.2.13] 我有一个基于 .text.erb 和 .html.haml 模板发送隐式多部分电子邮件的邮件程序。那里没有问题。 我正在尝试添加一个 after_filter 以有条件地
我正在 Rails 3 中编写 after_filter,我想检测 Controller (或任何其他过滤器)是否发出了重定向。有没有办法做到这一点? 最佳答案 你可以看看 status代码。 200
在 Rails 中是否可以使用在 View (after_filter) 之后出现的过滤器来收集出现在 javascript_include_tag 和 stylesheet_link_tag 方法中
我正在使用 Ruby on Rails 3.1,我想知道(出于性能原因)after_filter 是否在呈现 View 文件后运行。也就是说,当用户访问我的应用程序 URL 时,他/她应该显示的相关
我的一个 Controller 中有一个 after_filter,我只想在响应状态代码为 200 时执行它。否则我想跳过它。这可能吗? 最佳答案 一种快速简便的方法是像这样在 after_filte
好的,这是一个简单的任务。在我向客户端呈现 html 之后,我想使用请求中的信息执行数据库调用。 我正在使用 sinatra,因为它是一个轻量级的微框架,但我真的支持 ruby 中的任何东西,如果
我得到了一个练习,为一个独立的 Ruby 程序编写像 before_filter 和 after_filter 这样的 Rails 代码。毫不奇怪,我不知道怎么写。 最佳答案 最简单的方法是使用 Ac
在本文中作者是否有任何特殊原因(标题覆盖的可能性除外)使用 after_filter 来设置标题:http://www.tsheffler.com/blog/?p=428 ? 最佳答案 通过修改 af
我是一名优秀的程序员,十分优秀!