<% content_for :page_title do %>
  <%= link_to Spree.t(:taxonomies), spree.admin_taxonomies_url %> /
  <%= link_to @taxonomy.name, spree.edit_admin_taxonomy_url(@taxonomy) %> /
  <%= @taxon.name %>
<% end %>

<%# Because otherwise the form would attempt to use to_param of @taxon %>
<% form_url = admin_taxonomy_taxon_path(@taxonomy.id, @taxon.id) %>
<%= form_for [:admin, @taxonomy, @taxon], method: :put, url: form_url, html: { multipart: true } do |f| %>
  <%= render 'form', f: f %>

  <div class="form-actions" data-hook="buttons">
    <%= button Spree.t('actions.update'), 'save' %>
    <span class="or"><%= Spree.t(:or) %></span>
    <%= button_link_to Spree.t('actions.cancel'), edit_admin_taxonomy_url(@taxonomy), icon: "remove" %>
  </div>
<% end %>

<% content_for :page_title do %>
  <%= link_to Spree.t(:taxonomies), spree.admin_taxonomies_url %> /
  <%= link_to @taxonomy.name, spree.edit_admin_taxonomy_url(@taxonomy) %> /
  <%= @taxon.name %>
<% end %>

<%# Because otherwise the form would attempt to use to_param of @taxon %>
<% form_url = admin_taxonomy_taxon_path(@taxonomy.id, @taxon.id) %>

<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxon } %>

<%= form_for [:admin, @taxonomy, @taxon], method: :put, url: form_url, html: { multipart: true } do |f| %>
  <%= render 'form', f: f %>

  <div class="form-actions" data-hook="buttons">
    <%= button Spree.t('actions.update'), 'save' %>
    <span class="or"><%= Spree.t(:or) %></span>
    <%= button_link_to Spree.t('actions.cancel'), edit_admin_taxonomy_url(@taxonomy), icon: "remove" %>
  </div>
<% end %>

Add error partial to Taxon edit view
Add error partial to Taxon edit view
