ich die folgende Fehlermeldung erhalten nach dem Upgrade 4 Rails:„Keine solche Middleware einfügen vor: Rack :: Lock (Runtime)“ nach dem Upgrade auf 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)
Die Codezeile ist mein "remove slashes" Rack-Rewrite-Regel:
config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{^/(.*)/$}, '/$1', :headers => {'Cache-Control' => 'public, max-age='+2.week.to_s}
end
Irgendwelche Ideen?
nur eine Sache, die mich für eine Weile verwirrt war 'Rake middleware' die vollständige Liste der erwarteten Middleware, einschließlich' Rack-zurückkehrte :: Lock' und noch meine rspec Tests scheiterten, weil "Rack :: Lock" nicht gefunden wurde. Am Ende erkannte ich (indem ich config.middleware direkt untersuchte), dass rspec natürlich nicht den vollen Middleware-Stack geladen hat. Ich habe daher die Umschreibungen in 'config/environments/production.rb' verschoben, da ich diese Weiterleitungen in rspec sowieso nicht testen würde. –
Danke, dass du das herausgefunden hast! Die Ressource, zu der Sie in Ihrer Antwort verlinken, existiert leider nicht mehr. – Aaron