Elixir Phoenix flash消息不显示

Pra*_*oya 8 elixir phoenix-framework

我试图在凤凰应用程序中显示Flash消息,但它们似乎没有出现.我尝试了很多不同的东西,其中之一是:

<div class="row">
  <div class="col-sm-12">
    <%
    info = get_flash(@conn, :info)
    error = get_flash(@conn, :error)
    %>
    <% if info do %>
      <div class="alert alert-info" role="alert"><%= info %></div>
    <% end %>
    <% if error do %>
      <div class="alert alert-danger" role="alert"><%= error %></div>
    <% end %>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的代码?

Gaz*_*ler 18

你需要使用<%=而不是<%

<%= if info do %>
  <div class="alert alert-info" role="alert"><%= info %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

来自文档:

所有向模板输出内容的表达式都必须使用等号(=).由于Elixir中的所有内容都是表达式,因此此规则没有例外.例如,虽然某些模板语言是特殊情况if子句,但它们在EEx中被视为相同,并且还需要=以便打印结果: