I just installed Coherence mix package and followed the installation steps as required but I navigate to my protected route I get the following error
(UndefinedFunctionError) function Magnify.Web.Router.Helpers.session_path/2 is undefined (module Magnify.Web.Router.Helpers is not available)
Not sure what this error means as I’m new to Elixir
Here is my router
defmodule MagnifyWeb.Router do
use MagnifyWeb, :router
use Coherence.Router
pipeline :browser do
plug :accepts, ["html"]
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug :put_secure_browser_headers
plug Coherence.Authentication.Session
end
pipeline :protected do
plug :accepts, ["html"]
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug :put_secure_browser_headers
plug Coherence.Authentication.Session, protected: true
end
scope "/" do
pipe_through :browser
coherence_routes()
end
scope "/" do
pipe_through :protected
coherence_routes :protected
end
scope "/", MagnifyWeb do
pipe_through :browser # Use the default browser stack
get "/", HomeController, :index
get "/about", AboutController, :index
end
scope "/", MagnifyWeb do
pipe_through :protected
# add protected resources below
resources "/magnets", MagnetController
#resources "/magnets", MagnifyWeb.MagnetController
end
pipeline :api do
plug :accepts, ["json"]
end
end
There is probably a typo somewhere in your code since elixir looks for Magnify.Web.Router.Helpers module, which should probably be called MagnifyWeb.Router.Helpers judging by the name of your router module MagnifyWeb.Router.
Try searching for session_path and Magnify.Web.Router.Helpers in your project.
I don’t think that is it, I tried searching for “Magnify.Web.Router.Helpers” and nothing comes up and when I search for “session_path” it’s just session_path and if I search for “MagnifyWeb.Router.Helpers” it correct
[info] GET /sessions/images/logo-dark.png
[debug] ** (Phoenix.Router.NoRouteError) no route found for GET /sessions/images/logo-dark.png (MagnifyWeb.Router)
I don’t understand why now it’s looking under “sessions”
Of course you need to make sure that @conn is available in that partial then, I’m not doing phoenix right now, so I’m not sure if its passed down the road implicitely…