我正在使用Rack Attack。如果有人超过了限制,我将使用以下代码:
Rack::Attack.throttled_response = lambda do |env|
[429, {}, [ActionView::Base.new.render(file: 'public/429.html')]]
end
当某人超过POST请求的限制时,如果原始响应为respond_to:html
,那么429.html
的渲染工作正常。但是,如果POST请求响应respond_to:js
超过了限制,则屏幕上什么都不会发生,但如果我查看日志,一切似乎都很正常:
Rendered public/429.html (1.4ms)
如果出现js响应,我该如何显示429.html
?有没有可能从这个rack代码中传递错误信息
到rails app中?如果不是太复杂的话,我可以改用呈现
的错误信息
。
ActionView::Base.empty
而不是ActionView::Base.new
。 - venables