ruby-on-rails - rackup - ruby rack 2
"No se necesita dicho middleware antes: Rack:: Lock(RuntimeError)" después de actualizar a Rails 4 (1)
Como sugiere el error ("No hay que insertar dicho middleware antes"), el problema está en el middleware que intenta insertar antes (y no en el middleware que intenta insertar , que era mi suposición inicial).
En Rails4, el subprocesamiento está habilitado de forma predeterminada, lo que elimina Rack::Lock
.
Para encontrar un reemplazo, puede ejecutar rake middleware
desde su directorio de proyectos de rieles y buscar algo cerca del inicio de la pila. Voy a elegir Rack::Runtime
ya que está al principio de la pila, y parece bastante estándar.
Así que la configuración de reescritura es ahora:
config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
r301 %r{^/(.*)/$}, ''/$1'', :headers => {''Cache-Control'' => ''public, max-age=''+2.week.to_s}
end
Recibo el siguiente error después de actualizar a Rails 4:
.../ruby-1.9.3-p125/gems/actionpack-4.0.0.rc2/lib/action_dispatch/middleware/stack.rb:125:in ''assert_index'': No such middleware to insert before: Rack::Lock (RuntimeError)
La línea ofensiva es mi regla de reescritura en rack de " eliminar barras diagonales ":
config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{^/(.*)/$}, ''/$1'', :headers => {''Cache-Control'' => ''public, max-age=''+2.week.to_s}
end
¿Algunas ideas?