Podstawowym przypadkiem użycia jest przetwarzanie, ustawienie flash[:notice]
, a następnie przekierowanie do nowej strony. Z tego co wiem, przekierowania resetują tag Flash (proszę poprawić mnie, jeśli się mylę). Czy istnieje sposób na uzyskanie wytrwałości? Używanie sesji nie jest opcją i włamałem się do problemu za pomocą plików cookie, ale myślę, że musi być lepszy sposób.Uzyskiwanie wartości mieszania Flash w przypadku przekierowań
Odpowiedz
Funkcja mieszania flash działa dokładnie dla jednego przekierowania lub renderowania. Więc powinieneś mieć się dobrze z domyślnymi ustawieniami.
Jeśli chcesz zachować wartość skrótu lampy błyskowej dla innego żądania/przekierowania, możesz zadzwonić na flash.keep.
flash.keep # keep the entire flash hash around for an extra request.
flash.keep(:notice) # keep just flash[:notice] for an extra request.
Czy jest jakiś możliwy powód, że nie zawsze jest to prawdą (np. Wyłączanie sesji)? Z pewnością nie jest tak w przypadku moich zastosowań (flash [: notice] powinien być wyświetlany jako część standardowego układu, ale nie jest widoczny, chyba że jest ustawiony przed renderowaniem, a nie przekierowaniem). –
Co stanie się, gdy wyraźnie odwołasz się do flash [: notice] w widoku? – EmFi
Po przekierowaniu? Nic. Jeśli nie ma żadnego przekierowania, widzę ten sam ciąg przypisany. –
Coś być świadomy w co najmniej Rails V3.2.1 jest to, że lampa będzie się utrzymywać przez przekierowanie jeśli jej nie odwołuje się w ogóle przez co najmniej 1 przekierowanie i po załadować ten sam widok. Jest to kod pseudo moich ostatnich doświadczeń:
def some_action
(code that may set a flag to redirect 1 time)
redirect_to action_path if(redirect_flag)
....
end
Running to doprowadziłoby do zapłonu [: wiadomość] występuje niezależnie od przekierowania.
def some_action
logger.debug("Flash[:message] #{flash[:message]}")
(code that may set a flag to redirect 1 time)
redirect_to action_path if(redirect_flag)
....
end
Podczas debugowania z rejestratorem odwołującym się do lampy błyskowej [] byłby wyświetlany tylko wtedy, gdy przekierowanie nie miało miejsca. Mogłem zobaczyć, że jest to problematyczne, jeśli dodałeś odwołanie do flasha przed przekierowaniem i utraciłeś je w linii bez wyraźnego powodu.
See Ruby docs tutaj (Instance protected method: Use at the bottom)
Ah, dziękuję! Dodałem dane logowania, które zarejestrowały flash na poziomie żądania, i nie wiedziałem, dlaczego flash nie był już zachowywany przez wiele przekierowań. Wygląda na to, że jeśli chcesz coś takiego zrobić, możesz odczytać flash poprzez 'request.session ['flash']' (przynajmniej na Railsach 4) i nie przejdzie przez zwykły akcesor, co jest zwykle oznacza lampę błyskową jako odniesienie. – Ibrahim
- 1. Uzyskiwanie zmienionego atrybutu w przypadku zmiany
- 2. Sortowanie Reference tablicę wartości mieszania
- 3. Perl, uzyskaj wszystkie wartości mieszania
- 4. Jak połączyć wartości mieszania w C++ 0x?
- 5. Konwersja obiektu do wartości mieszania w Ruby
- 6. hash, jeśli nie ma wartości mieszania
- 7. Zmiana wartości mieszania bez wywoływania zdarzenia haszowania
- 8. Jak pobrać wiele wartości mieszania naraz?
- 9. Algorytm mieszania dla implementacji tabeli mieszania
- 10. Uzyskiwanie HttpActionExecutedContext Wartości wyników
- 11. Hibernacja, uzyskiwanie zduplikowanych wartości
- 12. xml.dom.minidom: Uzyskiwanie wartości CDATA
- 13. Uzyskiwanie wartości czujnika światła
- 14. Konstruowanie tabeli mieszania/funkcji mieszania
- 15. Android HttpURLConnection: Stosować przekierowań HTTP
- 16. Get wybranej wartości opcji w przypadku zmiany
- 17. Przełącznik: wiele wartości w jednym przypadku?
- 18. Swift: testowanie wartości opcjonalnej w przypadku przełącznika
- 19. Blokowanie przekierowań tagów HTML
- 20. Adresowanie przekierowań na koszulki
- 21. jak dostać klucz od wartości w tabeli mieszania
- 22. Jak mogę uzyskać odwołanie do określonej wartości mieszania w Perlu?
- 23. jak uzyskać wartości mieszania według pozycji w ruby?
- 24. Migrowanie danych podstawowych debugowania w celu porównania wartości mieszania
- 25. Ile to jest wartości mieszania haseł w java dla bezpieczeństwa?
- 26. Uzyskiwanie "Składnia błędów: nieprawidłowa składnia" w przypadku notebooka ipython2
- 27. Flash w przeglądarce Firefox nie wysyła wartości Referencji HTTP
- 28. Uzyskiwanie wartości appdelegate z viewcontroller
- 29. ASP.NET MVC - Uzyskiwanie wartości QueryString
- 30. jquery uzyskiwanie wszystkich wartości rozwijanych
Czy błysk [: Zawiadomienie] pojawiają się podczas renderowania, a nie przekierowanie? Czy na pewno ładowany jest standardowy układ? – EmFi