2011-10-27 16 views
15

Sto tentando di visualizzare un avviso dopo il reindirizzamento a una pagina ma non viene visualizzato.Active Admin - messaggi flash non visualizzati nella pagina

Ecco il reindirizzamento -

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

è possibile vedere il messaggio nella URL, ma ci ha colpiti particolarmente sembrano essere qualsiasi codice all'interno di amministrazione attiva per visualizzarlo.

Qualche idea su come renderlo all'interno dell'amministratore attivo?

+0

hai una: <% = Flash [: Avviso]%> nel vostro punto di vista? – Cygnusx1

+0

L'amministratore attivo genera le viste quindi non lo so. – Alex

risposta

22

Sembra che ci sia qualche problema che non ho rintracciato ancora, ma se siete alla ricerca di un work-around fino ad allora, questo è ciò che ho fatto:

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

il problema che sto vedendo è che quando si mette :notice nel metodo redirect_to, il messaggio di avviso viene codificato URL e aggiunto all'URL

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

risultati in

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

che è proprio l'ideale. Ho notato una modifica alla documentazione di active_admin che include il mettere {} attorno al primo parametro a redirect_to per risolvere questo problema, tuttavia, per me, questo si traduce in un errore.

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

che si traduce in

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

ho postato un commento su quel particolare richiesta di pull @active_admin on github e si spera che qualcuno potrebbe avere un altro suggerimento, dal momento che sto perplesso.

In ogni caso, forse una di queste soluzioni funzionerà per voi. In bocca al lupo.

+0

flash [: notice] funzionano per me. Avevo passato un'ora a scherzare con questo fino a quando ho trovato questa risposta. – jevy

+4

Hai problemi con la sintassi del ruby. Prova ad aggiungere parentesi: 'redirect_to ({action:: index}, notice: 'Whatever')' – chrpes

+0

L'uso di 'flash [: notice]' nell'azione membro non ha funzionato correttamente per me (non andava via), ma la soluzione di cui sopra ha fatto @chrpes. – SexxLuthor

-4

Active Admin non esegue il rendering di messaggi flash, crede di essere sottoposti a rendering nel layout di layout. Quando si esegue active_admin: installare generatore si afferma che:

$ 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

Li ho aggiunti al mio layout ma voglio mostrare un messaggio flash su una vista creata dall'amministratore attivo – Alex

+1

l'output di cui si fa riferimento in precedenza proviene dalla parte di installazione di devise dell'installazione di active_admin. in altre parole, idea raccomanda di aggiornare i layout per includere un avviso/campi di allerta. questo non ha nulla a che fare con come active_admin mostra i suoi messaggi di avviso/avviso. – sorens

Problemi correlati