How to redirect back to previous page in Elixir & Phoenix?

In this post, you'll learn how to easily redirect users to the previous path using the Navigation History plug.

Table of contents

    It's super easy, first add the plug to dependencies:

    def deps do
      [ 
        ...,
        {:navigation_history, "~> 0.3"}]
    end

    Then, add it to your pipeline of choice (in most cases it's gonna be :browser):

    pipeline :browser do
      ...
      plug NavigationHistory.Tracker
    end

    Now, you can use use available NavigationHistory.last_path/1 function to access the previous path:

    redirect(conn, to: NavigationHistory.last_path(conn))

    That's it! You can also exclude specific paths from navigation history:

    plug NavigationHistory.Tracker, excluded_paths: ["/login", ~r(/admin.*)]

    Find more details about this lib here: https://github.com/danhper/plug-navigation-history.

    Until next time!

    Check this article: Why Elixir & Phoenix is a great choice for your web app in 2022

    Szymon Soppa Web Developer
    Szymon Soppa Curiosum Founder & CEO

    Read more
    on #curiosum blog

    Bringing SOLID to Elixir

    Bringing SOLID to Elixir

    The SOLID principles, originally designed for object-oriented programming, can also be adapted effectively to functional programming languages like Elixir. Read how to apply it to create more maintainable, scalable, and adaptable software systems.