Utilizzando l’HTML nelle Guide di messaggi flash

Io uso flash[:errore] per visualizzare un messaggio semplice per gli utenti che non hanno potuto fare un’operazione di eliminazione, a determinate condizioni. Ho anche un link che vi aiuterà a ottenere informazioni circa l’entità che si vuole eliminare e perché non possono farlo.

È consigliabile inserire il collegamento ipertestuale nel messaggio flash? Il che significherebbe che avrei un frammento di HTML nel mio controller. Se no, come posso fare per fare questo?

  • Sarebbe bello se il downvote era stato spiegato! sigh
InformationsquelleAutor Vijay Dev | 2010-10-29



3 Replies
  1. 38

    Se si desidera includere un link nel tuo messaggio flash dal controller ci sono 2 problemi. Generando il link e allora ottenere visualizzato come HTML.

    Di utilizzare il link_to helper nel controller, completo di esso.

    Per avere la stringa visualizza come html, invece di essere sfuggito), chiamare il html_safe metodo string. Così la linea di controller simile:

    flash[:error] = "You can't do that. #{ActionController::Base.helpers.link_to "Here's why.", '/more_info.html'}".html_safe
    • per qualche ragione, quando lo uso .html_safe sul mio messaggio flash, non rendere la prossima volta
    • Che cosa si intende per “prossima volta”? I messaggi Flash, in genere, non rendere le richieste successive, che è la loro natura.
    • Come di Guide 4.1 questo non funziona.
    • Sarà ancora dare il messaggio flash sfuggito html (anche se si chiama html_safe) a causa del modo in cui le rotaie ora in grado di gestire questo genere di cose con il serializzatore JSON. Fonte: groups.google.com/forum/#!argomento/rubyonrails-core/z52zgDgUmbs e blog.bigbinary.com/2014/07/24/…
    • In Rails 4.1 e 4.2 e se si utilizza una sessione store.
    • O, più precisamente, se si utilizza un diverso serializzatore.

  2. 11

    l’oggetto flash è un supporto per la memorizzazione di vista frammenti/messaggi e persistono per un reindirizzamento l’uso della sessione.
    Vedo assolutamente nessun problema di memorizzazione di un link, o meglio un URL.

    esempio :

    redirect_to posts_path, :alert => "You cannot do that", :flash => { :url => post_path(@post) }

    e in vista del layout, i soliti sospetti :

    - if flash[:alert]
      ...
      - if flash[:url]
        = link_to "blah blah", flash[:url]
  3. 0

    È possibile. È possibile aggiungere alcuni Helper nel controllore troppo.

    O si può fare da sistema i18n.

Lascia un commento