Sometimes when I create views/controllers and models by hand I forget how rails gets error messages to appear at the top of a page.

Here is a reminder for myself for when I need to add these manually myself (by also extracting into a common pace a calling as follows).

application.html.erb

      <% flash.each do |key, value| %>
        <div class="alert alert-<%= key %>"><%= value %></div>
      <% end %>

_form.html.erb

    <% if @episode.errors.any? %>
        <div id="error_explanation">
          <h2><%= pluralize(@episode.errors.count, "error") %> prohibited this episode from being saved:</h2>

          <ul>
            <% @episode.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
          </ul>
        </div>
    <% end %>

If you ever can’t remember how this is done, just generate a new app and view the default rails output.

You can also extract this logic into a partial and access as follows:

<%= render 'shared/error_messages' %>