2011-10-27 16 views
15

Próbuję wyświetlić powiadomienie po przekierowaniu na stronę, ale nie pojawia się.Aktywny administrator - wiadomości flash nie pojawiają się na stronie

Oto przekierowanie -

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

Można zobaczyć wiadomość w adresie URL, ale nie robi wydaje się być dowolny kod wewnątrz aktywnego administratora, aby go wyświetlić.

Jakieś pomysły, jak zrobić to wewnątrz aktywnego administratora?

+0

Czy masz: <% = flash [: notice]%> w twoim widoku? – Cygnusx1

+0

Aktywny administrator generuje widoki, więc nie wiem. – Alex

Odpowiedz

22

Wydaje się być trochę problem, że nie wytropił jeszcze, ale jeśli szukasz pracy wokół tego czasu, to co zrobiłem:

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

problem, który widzę, że gdy włożysz :notice w metodzie redirect_to, komunikat powiadomienia url zakodowane i dodawane do adresu URL

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

skutkuje

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

co jest dalekie od ideału. Zauważyłem zmianę w dokumentacji active_admin, która obejmuje umieszczenie {} wokół pierwszego parametru na redirect_to w celu rozwiązania tego problemu, jednak dla mnie powoduje to błąd.

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

co skutkuje

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

Zamieściłem komentarz na temat tego konkretnego wniosku ciągnącej @active_admin on github i mam nadzieję, że ktoś może mieć inną propozycję, ponieważ jestem zakłopotany.

W każdym razie, być może jedno z tych rozwiązań będzie dla Ciebie skuteczne. Powodzenia.

+0

flash [: notice] work around pracował dla mnie. Spędziłem godzinę z tym, dopóki nie znalazłem tej odpowiedzi. – jevy

+4

Masz problemy ze składnią ruby. Spróbuj dodać nawiasy: 'redirect_to ({akcja:: indeks}, zauważ: 'Cokolwiek')' – chrpes

+0

Użycie 'flash [: notice]' w akcie członkowskim nie działa poprawnie (nie zniknie), ale powyższe rozwiązanie z @ chrpes zrobił. – SexxLuthor

-4

Aktywny administrator nie renderuje wiadomości flash, jest przekonany, że są renderowane w układzie t, który je renderuje. Po uruchomieniu active_admin: zainstalować generator wspomina, że:

$ 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

Dodałem je do mojego układu, ale chcę wyświetlić wiadomość flash w widoku utworzonym przez aktywnego administratora – Alex

+1

dane wyjściowe, do których odwołujesz się powyżej, pochodzą z części instalacyjnej instalacji instalacji active_admin. innymi słowy, firma devise zaleca zaktualizowanie układów w celu uwzględnienia pól powiadomień/alertów. nie ma to nic wspólnego z tym, w jaki sposób active_admin wyświetla komunikaty z powiadomieniami/alertami. – sorens

Powiązane problemy