ruby-on-rails - page - admin ruby on rails
Administrador activo: los mensajes flash no aparecen en la página (2)
Estoy intentando mostrar un aviso después de redirigir a una página pero no aparece.
Aquí está la redirección -
redirect_to :action => :index, :notice => "My redirect"
Puede ver el mensaje en la URL, pero no parece haber ningún código dentro del administrador activo para mostrarlo.
¿Alguna idea de cómo hacerlo dentro de administrador activo?
El administrador activo no muestra los mensajes flash, cree que están representados en la disposición t los procesa. Cuando ejecuta active_admin: instale el generador que 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>
Parece que hay un problema que aún no he detectado, pero si está buscando una solución temporal hasta entonces, esto es lo que 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 colocas :notice
en el método redirect_to
, el mensaje de aviso está codificado en url y agregado 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 a redirect_to
para solucionar este problema, sin embargo, para mí, esto produce un error.
member_action :test do
redirect_to {:action => :index}, :notice => "This is a test notice!"
end
lo que resulta en
syntax error, unexpected tASSOC, expecting ''}''
redirect_to {:action => :index}, :notice => "This...
Publiqué un comentario sobre esa solicitud de extracción en particular @ active_admin en github y espero que alguien tenga otra sugerencia, ya que estoy perplejo.
En cualquier caso, tal vez una de estas soluciones funcione para usted. Buena suerte.