rails mensajes bootstrap alerta ruby-on-rails controller message alert

ruby-on-rails - rails - mensajes de alerta bootstrap



Ruby on rails mensajes flash-: alerta: error: aviso y: ¿éxito? (3)

En varios de mis controladores, tengo redirecciones / mensajes flash

redirect_to products_url, :notice => "message here", redirect_to states_url, :error => "oops!" etc...

Sin embargo, en mi controlador de sesiones, tras una autenticación exitosa, tengo flash [: success] = "welcome!" redirigir a usuario

Me gustaría poder en mis otros controladores hacer algo como: éxito => "¡yay!"

Esto es principalmente para fines estéticos / de consistencia, pero son: aviso,: alerta y: error los únicos tipos de flash disponibles / ¿puedo agregar tipos adicionales? ¿Tengo sentido?

¡Gracias!


Acabo de descubrir que en Rails 4 puede registrar tipos personalizados en el controlador de la aplicación:

class ApplicationController ... add_flash_types :error, :another_custom_type end # app/controllers/users_controller.rb class UsersController < ApplicationController def create ... redirect_to home_path, error: "An error message for the user" end end # app/views/home/index <%= error %>

El mérito va a http://blog.remarkablelabs.com/2012/12/register-your-own-flash-types-rails-4-countdown-to-2013


Creo que sin cambios, esto es lo más cercano que obtendrás:

redirect_to user_path(@user), :flash => { :success => "Message" }

Aquí hay algunas notas adicionales sobre la adición de sintaxis de flash amigable.


Si desea acceder a diferentes tipos de estilos de mensajes flash basados ​​en la alerta bootstrap (éxito y advertencia), en su controlador:

flash[:success] = "This works!"

Y en su diseño (muy probablemente application.html.erb)

<% if success.present? %> <p class="alert alert-success"><%= success %></p> <% end %>

Lo mismo con la advertencia y otros estilos de alerta bootstrap.