Almog

Almog

(UndefinedFunctionError) function Magnify.Web.Router.Helpers.session_path/2 - after installing Coherence

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

First 9 of 9 Posts Switch mode

idi527

idi527

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.

Almog

Almog

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

NobbZ

NobbZ

Is this the same project you already posted parts of your config?

There you have a line in the config:

  web_module: Magnify.Web,

But you are talking about MagnifyWeb everywhere else…

Perhaps coherence is confused by that.

Almog

Almog

Yea that was it, I guess coherence config did it incorrect thanks so much for the help was really stuck on this

Almog

Almog

Maybe you might be able to help with this, now when I navigate to my protected route “http://0.0.0.0:4000/magnets” I get redirected to “http://0.0.0.0:4000/sessions/new” as I’m not logged in but now my logo is not showing up

[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”

NobbZ

NobbZ

Probably because you are giving a relative URL instead of an absolute, but without seeing your corresponding template I can not tell for sure.

Almog

Almog

It’s just a particle _header which has the following <img class="logo logo-dark" alt="logo" src="images/logo-dark.png" />

What is the correct way?

NobbZ

NobbZ

Well the correct way where probably to use the static_path/2 helper:

<img src="<%= static_path(@conn, "/images/logo-dark.png") %>" class="logo logo-dark">

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…

Almog

Almog

Thanks that was it

— All posts loaded —

Where Next?

Trending in Questions Top

jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
silverdr
Using Phoenix.LiveView.TagEngine as an EEx.Engine is deprecated! To compile HEEx, use Phoenix.LiveView.TagEngine.compile/2 instead. Sta...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
michallepicki
I am using Oban and occasionally, shortly after a deployment, a handful of jobs can fail because of dependency on other parts of the syst...
New
rahultumpala
Hello, I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New

We're in Beta

About us Mission Statement