Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    133

    Ruby on rails e Ajax: flash[:notice]

    Salve a tutti! Allora, ho iniziato da poco a studiare Ruby on Rails, e mi sono trovato davanti a questo problema. Ho un semplice form che tramite Ajax aggiorna il db senza ricaricare la pagina. Quello che vorrei è, una volta terminata la transazione, che un div mostri ciò che contiene la variabile flash[:notice] (in caso di di salvataggio risucito sul db la variabile flash[:notice] contiene un messaggio di salvataggio eseguito con successo, negativo altrimenti). Il problema è che non riesco a ricaricare il contenuto del div, o forse la variabile flash[:notice] non viene aggiornata finchè non viene ricaricata la pagina. Ecco il mio codice (escluso il reload del div)

    codice:
    <div id="vote_player" style="display: none;">
      <% form_remote_tag(:url => {:controller => "vote", :action => "new"}, :complete => "Element.hide('vote_player'); Element.show('notice');" ) do %>
        <%= select "vote", "voto", %w[1 2 3 4 5 6 7 8 9 10] %>
        <%= hidden_field "vote", "player_id", :value => @player.id %>
        <%= hidden_field "vote", "user_id", :value => session[:user_id] %>
        <%= submit_tag "Vota" %>
      <% end %>
    </div>
    <div id="notice" style="display:none"><%= flash[:notice] %></div>
    Come posso fare a mostrare il correto messaggio nel div con id="notice"?
    Grazie mille

  2. #2
    penso che tu debba passare attraverso un rjs template, da quello che ho capito ora la tua action che aggiorna il db non fa questo, dovresti creare un file nome_della_tua_action.rjs (nella view) con all'interno qualcosa di simile
    codice:
    page.replace_html :notice, flash[:notice]
    in poche parole dici di rimpiazzare il contenuto del div "notice" con il messaggio contenuto in flash.
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    133
    Ho risolto con un render artial e con il parametro :update nella chiamata della funzione!

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.