问题标签 [rack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
149 浏览

ruby-on-rails - RoR 在刷新时重新加载内容是如何工作的?

只要 env 是development,RoR 就允许您更改应用程序代码的部分内容,然后只需刷新浏览器——所有内容都会更改,而无需重新启动 Mongrel。

这是如何工作的,以及在 Rails 代码库中的什么地方完成的?

(或者,是否有一些简单的方法可以使用 Rack+Mongrel 做到这一点?)

非常感谢。

0 投票
1 回答
351 浏览

ruby - 如何通过机架提供二进制文件?

我认为我在这里有点傻,但我不断收到错误,抱怨 env 哈希中缺少 SERVER_NAME 键,而且我在 Rack::SendFile.. 上找不到任何实质性文档。

所以-我如何提供文件?

0 投票
1 回答
713 浏览

ruby - nginx +乘客不使用机架文件

我有一个问题,Passenger 没有检测到以下 nginx 服务器的 config.ru 文件

Nginx 似乎只是忽略它并将其视为普通网页(因为当它尝试在公共场合查找 index.html 时,我会进入禁止区域)。我已验证 rackup 命令并执行 config.ru 并成功启动。

我有另一个类似这样的服务器指令,它由 Rails 提供支持,它似乎运行良好。

我错过了什么吗?

提前致谢!

0 投票
2 回答
4243 浏览

ruby-on-rails - 从机架访问 Rails 3 会话?

我能够在 Rails 2.3.5 中执行以下操作,以从我的 Rails 应用程序中访问我在会话中设置的属性。现在在 Rails 3 中,env["rack.session"]nil. 我如何在 Rails 3 中做同样的事情?

0 投票
2 回答
1475 浏览

testing - 在 Sinatra 中 - 有人使用测试夹具吗?您的测试套件是如何设置的?

我来自 Ruby/Rails 世界。我正在 Sinatra 项目(使用 Rack::Test)上设置测试。我通常在测试中使用 Fixtures。Sinatra 有没有等价物?

人们如何设置他们的 Sinatra 测试套件(除了基本的 helloworld 示例之外,这是我能找到的 Sinatra 测试的唯一示例)。

谢谢!

0 投票
4 回答
5194 浏览

ruby - 如何使用 Rspec 在 Sinatra 中测试帮助程序块?

我正在编写一个 sinatra 应用程序并使用 rspec 和 rack/test 对其进行测试(如 sinatrarb.com 上所述)。
到目前为止,它一直很棒,直到我将一些相当程序化的代码从我的域对象移动到 sinatra 助手。

从那时起,我一直试图弄清楚如何单独测试这些?

0 投票
1 回答
1312 浏览

sinatra - Sinatra 机架中的 Rack::ResponseHeaders

我认为这是一个非常容易的,但我似乎无法做到这一点。基本上,我正在尝试使用 Rack 中间件将默认的 Cache-Control 标头设置到我的 Sinatra 应用程序提供的所有响应中。看起来 Rack::ResponseHeaders 应该能够完全满足我的需要,但是在尝试使用我的 rackup 文件中演示的语法时出现错误:

我能够让 Rack::Cache 成功工作,如下所示:

但是,这并不能完全达到我想要的输出,而 Rack::ResponseHeaders 提供了对标头的细粒度控制。

仅供参考,我的网站托管在 Heroku 上,所需的 Rack gem 在我的 .gems 清单中指定。

谢谢!

更新:经过一番研究,第一个问题似乎是在安装的 rack-contrib (0.9.2) 版本中找不到 Rack::ResponseHeaders。我将从调查开始。

0 投票
2 回答
2020 浏览

ruby - 部署一个带乘客的 sinatra 应用程序只给出 404,找不到页面。然而,一个简单的机架应用程序可以工作

我在 apache 2 上正确(或可能没有)安装了乘客。机架工作,但 sinatra 不断给出 404。

这是有效的: config.ru

这也是可行的:使用ruby​​ app.rb 运行 app.rb(见下文),然后查看 localhost:4567/about 和 /

重新启动应用程序,给了我一个正确的 hello world。w00吨。

但随后有 sinatra 进入大楼: config.ru

和一个app.rb

这不断给出404。 /var/logs/apache2/error.log将这些正确列为“404”,这让我担心:

让我担心的是 / 和 /about 后面的空格。apache 或 sinatra 会去寻找 /[space],比如 /%20 吗?

如果有人知道这个问题与什么有关,也许是一个已知的错误(我找不到)或一个已知的陷阱?也许我只是愚蠢并得到“一切都错了”?

否则,任何关于在运行机架、sinatra 或乘客应用程序上获取、读取或记录更多开发人员数据的提示也会有所帮助:例如,查看 sinatra 正在寻找什么。

其他一些信息:运行 ubuntu 9.04、apache2-mm-prefork (deb)、mod_php5、ruby 1.8.7、passenger 2.2.11、sinatra 1.0

0 投票
1 回答
1937 浏览

redirect - Sinatra 没有通过重定向传递标头

我有一个简单的 Sinatra 代理,当一个端点被调用时,它会重定向到同一个 Sinatra 代理上的另一个端点。

当我使用标头发出请求时,当请求在第一个重定向时,代理似乎没有将此标头传递到第二个端点。这是我的代码:

任何提示将非常感谢。

谢谢

0 投票
1 回答
225 浏览

ruby - 设置cookies

好的,所以我正在尝试使用 Ruby 设置 cookie。我在机架环境中。response[name]=value将 HTTP 标头添加到 HTTP 标头哈希机架中。我知道它有效。

但以下设置 cookie 的方法不起作用:

为什么不?我该如何解决?谢谢。