- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 Middleman我正在使用 Rack::TryStatic
服务的应用程序。
这是config.ru
。
use Rack::TryStatic,
root: 'build',
urls: %w[/],
try: ['.html', 'index.html', '/index.html']
run lambda{ |env|
four_oh_four_page = File.expand_path("../build/404.html", __FILE__)
[ 404, { 'Content-Type' => 'text/html'}, [ File.read(four_oh_four_page) ]]
}
我的理解是,当您将 config.ru
与 run
、map
或 use
一起使用时方法,它们被转换为 Rack::Builder
对象。
我试过将此配置包装在 Rack::Builder
对象中,如下所示:
app = Rack::Builder.new do
use Rack::TryStatic,
root: 'build',
urls: %w[/],
try: ['.html', 'index.html', '/index.html']
run lambda{ |env|
four_oh_four_page = File.expand_path("../build/404.html", __FILE__)
[ 404, { 'Content-Type' => 'text/html'}, [ File.read(four_oh_four_page) ]]
}
end
run app
当我这样做时,我得到所有请求的 404 页面。
为什么这行不通?
最佳答案
看起来当前发布的 TryStatic
版本中有一个错误 has been fixed in master ,其中 try
数组在以导致中间件重新初始化的方式使用时丢失。
您可以通过使用 to_app
确保应用仅初始化一次来避免这种情况:
run app.to_app
或者等效地使用 app
而不是 new
:
app = Rack::Builder.app do
# ...
关于ruby - Rack::Builder 和 Rack::TryStatic 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26013789/
我正在使用 Middleman 创建静态网站。 中间人生成静态 html 文件到 ./build 目录。 这是我目前使用的配置: require 'rubygems' require 'middlem
我有一个 Middleman我正在使用 Rack::TryStatic 服务的应用程序。 这是config.ru。 use Rack::TryStatic, root: 'build', ur
我已经尝试了多个位置来插入finally block ,但无论我如何尝试,最终都会使代码变得更糟。 这是我的代码,倒数第四个结束大括号是给我错误的地方。有什么想法吗? package com.
我正在使用 eclipse 创建一个 android 应用程序,该应用程序获取手机上所有当前显示的应用程序的列表,但我收到一个我以前从未见过的错误。我的代码看起来是正确的,但在其中一个“}”括号中出现
我是一名优秀的程序员,十分优秀!