Module: Inertia::ControllerHelpers
- Defined in:
- lib/inertia/controller_helpers.rb
Overview
Provides controller helper methods for Inertia.js integration.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#redirect_back(fallback_location:, external: false) ⇒ Object
Redirects the client back to the referring page, with a fallback location.
-
#redirect_back_or_to(fallback_location, external: false) ⇒ Object
Redirects the client back to the referring page, or to the specified fallback location.
-
#redirect_to(location, external: false) ⇒ Object
Redirects the client to the specified location.
Instance Method Details
#redirect_back(fallback_location:, external: false) ⇒ Object
Redirects the client back to the referring page, with a fallback location.
92 93 94 |
# File 'lib/inertia/controller_helpers.rb', line 92 def redirect_back(fallback_location:, external: false) redirect_back_or_to fallback_location, external: end |
#redirect_back_or_to(fallback_location, external: false) ⇒ Object
Redirects the client back to the referring page, or to the specified fallback location.
107 108 109 110 111 112 113 114 115 |
# File 'lib/inertia/controller_helpers.rb', line 107 def redirect_back_or_to(fallback_location, external: false) referer = request.env["HTTP_REFERER"] if referer redirect_to referer, external: else redirect_to fallback_location, external: end end |
#redirect_to(location, external: false) ⇒ Object
Redirects the client to the specified location.
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/inertia/controller_helpers.rb', line 71 def redirect_to(location, external: false) if external headers["x-inertia-location"] = location head 409 return end head(request.get? || request.post? ? 302 : 303) headers["location"] = location end |