rack相关内容
我在 Rack 上的 Sinatra 中构建了一个非常简单的 REST 服务.它由 3 个 Tokyo Cabinet/Table 数据存储提供支持,这些数据存储具有需要打开和关闭的连接.我有两个直接用 Ruby 编写的模型类,目前它们只是简单地连接、获取或放置他们需要的东西,然后断开连接.显然,这不会长期有效. 我还有一些 Rack 中间件,例如 Warden,它们依赖于这些模型类.
..
我目前在 Dreamhost 上尝试运行 Rails 2.3.5 应用程序. 情况是这样的,Dreamhost 的服务器安装了 Rails 2.2.2.当然,我不能更新共享主机的 rails 版本,所以我在 vendor.js 中冻结了我的 Rails.Rails 2.3.5 需要 rack v1.0.1 gem.Dreamhost 使用 rack v1.0.0 gem.所以当我尝试定义时:
..
标题是不言自明的.有什么方法可以获取标头(Rack::Request.env[] 除外)? 解决方案 Rack 环境中提供 HTTP 标头 传递给您的应用: HTTP_ 变量:对应于客户端提供的 HTTP 请求标头的变量(即名称以 HTTP_ 开头的变量).这些变量的存在与否应与请求中相应 HTTP 标头的存在或不存在相对应. 因此 HTTP 标头以“HTTP_"为前缀并添加到
..
我想在我的 Rails 应用程序中实现 CORS,所以我在谷歌上搜索了 rack-cors gem.我按照 README 中的说明做了所有事情,相应地更新了 Gemfile 并更新了 application.rb,如下所示: 模块 YourApp类应用 但它没有用.不管我做什么,在浏览器控制台中我不断收到消息: XMLHttpRequest 无法加载 https://somewebsit
..
我目前正在开发一个基于 Rack 的应用程序,并希望将所有文件请求(例如 filename.filetype)重定向到指定的文件夹. Rack::Static 仅支持对特殊文件夹(例如“/media")的文件请求. 我是否必须编写自己的 Rack 中间件或是否存在开箱即用的解决方案? 解决方案 要将每个请求重定向到特定路径,请使用 Rack::File(由于某种原因,这个类在最
..
我正在尝试为我的应用程序提供一个基于 gollum 的 wiki,方法是将它作为一个机架应用程序安装在我的 routes.rb 文件中: 需要'gollum/frontend/app'#Gollun 配置gollum_path = Rails.rootPrecious::App.set(:gollum_path, gollum_path)Precious::App.set(:wiki_optio
..
我正在尝试使用 Rack::Test 为我的 Sinatra 应用程序编写 RSpec 测试.我无法理解如何使用 cookie.例如,如果我的应用程序设置了 cookie(不是通过 :session),我如何检查该 cookie 是否设置正确? 另外,我如何使用该 cookie 发送请求? 解决方案 Rack::Test 保存了一个 cookie jar,该 cookie jar 在
..
我最近将 Rails 4.1.8 更新为 4.2 我无法使用私有 ip 192.168.1.x:3000 以及我的 公共 ip 地址 访问 rails 应用程序. Rails 应用程序正在使用 lvh.me:3000、0.0.0.0:3000、localhost:3000 和 127.0.0.1:3000.但看起来所有地址都指向我服务器日志中的 127.0.0.1:3000 rails
..
我有一个用 Sinatra 编写的小型网络服务器.我希望能够将消息记录到日志文件中.我已经通读了 http://www.sinatrarb.com/api/index.html 和 www.sinatrarb.com/intro.html,我看到 Rack 有一个叫做 Rack::CommonLogger 的东西,但我找不到任何关于如何访问和使用它来记录消息的例子.我的应用程序很简单,所以我将它编
..
我无法弄清楚如何使用 Sinatra 记录消息.我不是要记录请求,而是要在我的应用程序中的某些点记录自定义消息.例如,在获取 URL 时,我想记录 "Fetching #{url}". 这是我想要的: 指定日志级别的能力(例如:logger.info("Fetching #{url}")) 在开发和测试环境中,消息将写入控制台. 在生产中,只写出与当前日志级别匹配的消息. 我
..
我正在设置 git 存储库并尝试将其链接到 Heroku.当我运行命令时 git push heroku master 我收到 计数对象:7,完成.Delta 压缩最多使用 2 个线程.压缩对象:100% (5/5),完成.写入对象:100% (7/7),714 字节,完成.总计 7(增量 1),重复使用 0(增量 0)----->Heroku 接收推送!由于无法识别的错误,Heroku 推
..
我有一个视频作为网页的背景,我正在尝试让它循环播放.代码如下: 即使我已经告诉视频循环播放,它也没有.我还尝试让它与 onended 属性循环(根据 这个 Mozilla 支持线程,我也尝试了一点 jQu
..
Ruby 中的 Rack 中间件是什么?对于“中间件"的含义,我找不到任何好的解释. 解决方案 Rack as Design 机架中间件不仅仅是“过滤请求和响应的一种方式"——它是 管道设计模式,用于使用 Rack 的 Web 服务器. 它非常清晰地分离出处理请求的不同阶段 - 关注点分离是所有设计良好的软件产品的关键目标. 例如,对于 Rack,我可以将管道的各个阶段分
..
我想知道是否有任何方法可以让 Rails 网络服务器(瘦)为资产管道创建的 *.gz 文件提供服务.据我了解,这些压缩级别比 Rack::Deflater 的压缩级别更高,后者仅适用于机架文件中的 serve_static_assets 而不适用于 config.中间件. 一个不太理想的解决方案可能是更改 Zlib 的默认压缩级别,这是 Rack::Deflater 引用的内容.它应该只需要
..
我正在使用 Rails 3.2.13 和 Rails Asset Pipeline.我想使用资产管道,以便我可以对我的资产使用 SASS、CoffeeScript 和 ERB,并让管道自动编译它们,因此我无法在开发中关闭管道.我从来没有在开发中预编译资产,甚至没有 public/assets/ 目录. 但是,当我对包含的文件进行更改时,例如对包含(渲染)在 layout.html.erb_p
..
假设我有最简单的单文件 Sinatra 应用程序.他们主页上的 hello world 就可以了.我想在 Apache 下使用 Phusion Passenger(又名 mod_rails)运行它. 我需要什么目录结构? 我必须在 vhost conf 文件中放入什么? 我知道我需要一个rackup 文件.里面有什么,为什么? 解决方案 基本目录结构: 应用程序|-- conf
..
在我的 Rails 应用程序中,我正在访问控制器操作之一中的 env 哈希值. 大致如下: def my_before_filterenv['some.key'] = "某事或其他"结尾 这非常适合我的要求. 如果我在测试环境中启动我的 Rails 应用程序,并访问如下操作: #/users in UsersController#index定义索引把 env.inspect结尾
..
我想在使用 Rack::MockRequest 发出请求时将协议设置为 https client = Rack::MockRequest.new(@app)#有这样的吗?env = @app.env.merge("rack.url_scheme" => "https")response = client.get("/", env) 我该怎么做? 这里是 Rack 文档. 解决方案
..
我在我的应用程序中使用 rack-rewrite 来删除尾部斜杠(如果发现),但是如果不在某条路线上,我只想要那个. 我使用过类似的东西: 使用 Rack::Rewrite 做r301 %r{^(?!testroute)(.+)/$}, '$1'结尾 为了实现我所需要的(例如,除 /testroute/ 之外的所有路由都应该删除任何尾部斜杠).问题是,即使它到达了该特定路线,它也不会忽略
..
我正在尝试做这样的事情: class Dispatcher
..