2011-10-27 11 views
15

Estoy intentando mostrar un aviso después de redireccionar a una página pero no aparece.Administrador activo: no aparecen los mensajes flash en la página

Aquí es la redirección -

redirect_to :action => :index, :notice => "My redirect" 

se puede ver el mensaje en la url, pero tampoco parece haber ningún código dentro de administración activa para mostrarlo.

¿Alguna idea de cómo presentarla en el administrador activo?

+0

¿tiene un: <% = súbita [: aviso]%> en su opinión? – Cygnusx1

+0

El administrador activo genera las vistas, así que no lo sé. – Alex

Respuesta

22

Parece que hay algún problema que no he seguido la pista todavía, pero si usted está buscando una solución temporal hasta entonces, esto es lo hice:

member_action :test do 
    flash[:notice] = "This is a test notice!" 
    redirect_to :action => :index 
end 

el problema que estoy viendo es que cuando se pone :notice en el método redirect_to, el mensaje de aviso se codifica url y se añade a la URL

member_action :test do 
    redirect_to :action => :index, :notice => "This is a test notice!" 
end 

resultados en

/admin/model?notice=This+is+a+test+notice! 

que es menos que ideal. Noté un cambio en la documentación de active_admin que incluye poner {} alrededor del primer parámetro en redirect_to para solucionar este problema, sin embargo, para mí, esto da como resultado un error.

member_action :test do 
    redirect_to {:action => :index}, :notice => "This is a test notice!" 
end 

que se traduce en

syntax error, unexpected tASSOC, expecting '}' 
    redirect_to {:action => :index}, :notice => "This... 

I publicado un comentario en particular, que la solicitud de extracción @active_admin on github y es de esperar que alguien podría tener otra sugerencia, ya que estoy confundido.

En cualquier caso, tal vez una de estas soluciones funcione para usted. Buena suerte.

+0

flash [: notice] trabajo funcionó para mí. Pasé una hora jugando con esto hasta que encontré esta respuesta. – jevy

+4

Tiene problemas con la sintaxis de ruby. Intente agregar corchetes: 'redirect_to ({action:: index}, notice: 'Whatever')' – chrpes

+0

Usar 'flash [: notice]' en la acción de miembro no funcionó correctamente para mí (no desaparecería), pero la solución anterior de @chrpes sí. – SexxLuthor

-4

Active Admin no representa mensajes flash, cree que se representan en t layout los representa. Cuando se ejecuta active_admin: instalar el generador se menciona que:

$ rails g active_admin:install 
... 
Some setup you must do manually if you haven't yet: 
... 
3. Ensure you have flash messages in app/views/layouts/application.html.erb. For example: 

    <p class="notice"><%= notice %></p> 
    <p class="alert"><%= alert %></p> 
+2

Los he agregado a mi diseño, pero deseo mostrar un mensaje flash en una vista creada por el administrador activo – Alex

+1

El resultado al que hace referencia arriba es de la parte de instalación del dispositivo de la instalación active_admin. en otras palabras, idear recomienda que actualice sus diseños para incluir un campo de aviso/alerta. esto no tiene nada que ver con cómo active_admin muestra sus avisos/mensajes de alerta. – sorens

Cuestiones relacionadas