Manejo de errores con Ajax en Rails 3

Estoy creando una aplicación de demostración simple que permite al usuario ingresar su dirección de correo electrónico para registrar su interés en recibir acceso beta. La aplicación luego les envía un correo electrónico de confirmación que les informa que hemos recibido su solicitud. Si alguna vez te has registrado para recibir una notificación de un lanzamiento beta, entonces tienes la idea.

Tengo curiosidad acerca de cómo manejar los errores en Rails 3 mientras uso AJAX. Antes de implementar mi bloque respond_to tenía un formulario que representaba un error compartido parcial.

Aquí está el formulario.

<% if flash[:notice] %>
<p><%= flash[:notice] %></p>
<% end %>

<p>Sign up to be notified when the beta launches.</p>

<%= form_for @user, :remote => true do |form| %>

    <%= render '/shared/errors', :target => @user %>

    <%= form.label :email, "Your Email Address" %>
    <%= form.text_field :email %>

    <%= form.submit "Notify Me" %>
<% end %>

Y aquí están los errores mencionados anteriormente parciales.

<% if target.errors.any? %>

<ul>
    <% target.errors.full_messages.each do |message| %>
        <li><%= message %></li>
    <% end %>
</ul>

<% end %>

Cosas muy estándar. La acción del controlador se ve así.

def create
@user = User.new(params[:user])

respond_to do |format|
  if @user.save
    format.html { redirect_to :back, flash[:notice] = "Thanks for your interest! We'll let you know when the app is in beta." }
    format.js
  else
    format.html { render :action => :new }
    format.js
  end
end
end

Todo funciona perfectamente antes de implementar ajax. Si el formulario pasa la validación, verán el mensaje flash de éxito y, de lo contrario, verán una lista de errores. Entonces, ahora que tengo un archivo create.js.erb, ¿cómo debo manejar los errores sin repetirme o es imposible? Obviamente quiero mantener esto lo más SECO posible.

Respuestas a la pregunta(3)

Su respuesta a la pregunta