Errores de validación en Rails con Bootstrap

Si estas utilizando la gema “twitter-bootstrap-rails” (que aún se mantiene en la versión 2 de Bootstrap) te has dado cuenta que al crear un scaffold y añadirle validaciones estas muestran un mensaje de error en tu formulario.

validation_scaffold

Bien pues al darle estilo a las vistas con Bootstrap:

rails g bootstrap:themed calculos -f

No se muestran los errores de validación.

Esto es por que el comando anterior en especial la parte -f sobreescribe las vistas. Borrando la parte de el código que mostraba los errores con el scaffold tradicional, basta con añadir este fragmento

<!-- Errores en la validación -->
<%= form_for @calculo, :html => { :class => 'form-horizontal' } do |f| %>
  <% if @calculo.errors.any? %>
    <div class="alert fade in alert-error">
      <h2><%= pluralize(@calculo.errors.count, "errore") %> impiden realizar este cálculo:</h2>
      <ul>
      <% @calculo.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %

Y dentro de nuestro modelo ya podemos añadir nuestras validaciones y el mensaje a mostrar:

validates :dato1, :dato2, :presence => {:message =>; "no puede estar vacio"}

Ahora los errores en la validación se muestran así.

validation_bootstrap

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s