This middleware serves static files from disk, if available. If no file is found, it hands off to the main app.

In Rails apps, this middleware is configured to serve assets from the public/ directory.

Only GET and HEAD requests are served. POST and other HTTP methods are handed off to the main app.

Only files in the root directory are served; path traversal is denied.

Methods

Class Public methods

new(app, path, index: "index", headers: {})

📝 Source code
# File actionpack/lib/action_dispatch/middleware/static.rb, line 18
    def initialize(app, path, index: "index", headers: {})
      @app = app
      @file_handler = FileHandler.new(path, index: index, headers: headers)
    end
🔎 See on GitHub

Instance Public methods

call(env)

📝 Source code
# File actionpack/lib/action_dispatch/middleware/static.rb, line 23
    def call(env)
      @file_handler.attempt(env) || @app.call(env)
    end
🔎 See on GitHub