Oxyrus

Oxyrus

In Rails we’re able to use

<% if info %>, however in Phoenix we don’t have that option, in the phoenix channel on Slack a guy pointed me to http://stackoverflow.com/questions/34068589/elixir-phoenix-flash-messages-do-not-show-up however it doesn’t work either, creating a file in /web/templates/layout/alert.html.eex with the content provided in the example throws an error:

Compiling 1 file (.ex)

== Compilation error on file web/views/layout_view.ex ==
** (CompileError) web/templates/layout/alert.html.eex:1: undefined function info/0
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
    (elixir) lib/kernel/parallel_compiler.ex:117: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

What is the way to do it correctly?

Showing Posts 1 to 4

alexgaribay

alexgaribay

Phoenix Core Team
<%= if get_flash(@conn, :info) do %>
  <span><%= get_flash(@conn, :info) %></span>
<% end %>

You can replace :info with whatever atom you specify in put_flash.

cpgo

cpgo

I have something like this. There is probably a much better way of doing it.

defmodule Learnp.LayoutView do
  use Learnp.Web, :view
  import Learnp.Router.Helpers

  def show_notification(conn) do
    conn
    |> get_flash
    |> flash_message
  end

  def flash_message(%{"info" => message}) do
    render "components/_notification.html", class: "primary", message: message
  end

  def flash_message(%{"error" => message}) do
    render "components/_notification.html", class: "danger", message: message
  end

  def flash_message(_), do: nil

end

And on my templates I can call it with <%= show_notification(@conn)%> and it will render the partial web/templates/layout/components/_notification.html.eex.

kabala

kabala

Please buddy, would you share the content of _notification.html.eex

cpgo

cpgo

It’s just some HTML with Bootstrap markup

<div class="callout <%= @class %>" data-closable>
  <button class="close-button" aria-label="Fechar alerta" type="button" data-close>
    <span aria-hidden="true">&times;</span>
  </button>
     <%= @message %>
</div>
— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
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
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
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

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews