inserendo del codice RJS(� cos� che si chiama no?) la pagina mi
genera questo output quando per esempio ora dovrebbe farmi un’ alert.
cosa sbaglio?
A me una volta era successo lo stesso; poi mi sono accorto che avevo un
filtro che, oltre che impostarmi il corretto charset, mi forzava il
content-type a ‘text-html’ . Quindi, le risposte rjs, normalmente
‘text-javascript’ o simili, diventavano ‘text-html’.
Controlla quindi che, nel tuo controller o in application.rb, non hai
qualcosa tipo: @headers[‘Content-Type’] = "text/html;
Ciao
Simo
addsw.it
E’ successo anche a me… A suo tempo la distrazione stava nel fatto che
ho
usato link_to invece di link_to_remote per richiamare l’azione, e di
conseguenza il template rjs. Sembra simile l’errore, quindi prova a
controllare che la chiamata sia Ajax.
Spero di averti aiutato.
Niente, non ho nessuna impostazione per il content.
non ho ben capito per quale motivo non dovrebbe funzionare il
link_to, Andrea potresti spiegarti meglio?
Io la funzione la richuamo inserendo direttamente l’ url comprensivo
della action,è forse questo il problema?
I link che di cui ti parlo sono due e si generano attraverso gli helper
che
adesso ti vado ad elencare nelle viste.
— Link tipico —
L’helper link_to utilizzato per creare un link
<%= link_to(“Zona Palco Sud”, :action => :change) %>
porta al risultato di un tipico link Zona Palco Sud
— Link che attva una chiamata Ajax —
L’helper link_to_remote è utilizzato per creare un link che effettua una
chiamata Ajax
<%= link_to_remote( “
Zona Palco Sud
”,
:url => { :action => :change}) %>
porta al risultato di un link che effettua una chiamata Ajax come puoi
vedere qui sotto
Zona Palco Sud
Nel caso in cui tu usi rjs devi effettuare una chiamata con un oggetto
Ajax
altrimenti l’output ottenuto sarà quello che hai postato inizialmente.
Quindi o utilizzi link_to_remote o devi creare a manina l’oggetto Ajax
che
effettua la chiamata.
Spero di essere stato chiaro
ho capito quello che hai detto, ma non ho capito per quale motivo per
fare una chiamata rjs devo usare per forza ajax(l’ unica differenza è
che la chiamata è asincrona), cmq ho provato e non mi funziona
neanche così, nella vista ho messo un link_to_remote ad un’ azione di
test per fare una alert che ovviamente non funziona. cmq nella
documentazione non c’è alcun riferimento al fatto di usare per forza
ajax, sei sicuro che non funziona?
def test
render(:update) {|page| page.alert(“test”)}
end
questo codice non produce alcuna azione, nemmeno errori nella console
javascript di firefox.
per ora sto cercando di far funzionare una alert anche se il mio
obbiettivo è fare delle vere e proprie chiamate a funzioni
javascript, per l’esatezza le api di google(so che ci son plugin ma
non hanno tutte le funzioni, es geocoding e altro)
Saluti Andrea
Il giorno 25/set/06, alle ore 01:13, Andrea R. ha scritto:
Sono riuscito a eseguire una alert tramite rjs, ora quello che vorrei
è dentro il controller, richiamare una funzione javascript presente
nella mia vista, come posso fare?
Ho visto il metodo link_to_function ma non fa al caso mio, io vorrei,
nel controller avere una funzione che oltre a fare delle operazioni
mi richiami un metodo javascript.
saluti Andrea, grazie in anticipo…
Il giorno 25/set/06, alle ore 12:56, Stefano C. ha scritto:
in seguito ad una azione, per esempio dal lato server manipolo i dati
di una citt� e tramite javascript(e le api di google maps) modifico
la mia mappa, cosa che ho gi� fatto senza problemi ma ovviamnte nn in
rails.
in seguito ad una azione, per esempio dal lato server manipolo i dati
di una città e tramite javascript(e le api di google maps) modifico
la mia mappa, cosa che ho già fatto senza problemi ma ovviamnte nn in
rails.
Saluti Andrea
Il giorno 25/set/06, alle ore 12:56, Stefano C. ha scritto:
Ciao
ho il tuo stesso problema … potresti gentilmente postare il codice
corretto?
Paolo
Sono riuscito a eseguire una alert tramite rjs, ora quello che vorrei
? dentro il controller, richiamare una funzione javascript presente
nella mia vista, come posso fare?
Ho visto il metodo link_to_function ma non fa al caso mio, io vorrei,
nel controller avere una funzione che oltre a fare delle operazioni
mi richiami un metodo javascript.
def metodo_test
render :update do |page|
page.alert “hello world”
end
end
quando richiami il metodo, se lo fai in ajax ricordati di non mettere
nulla in update, mi spiego meglio, se tu hai una link to remote, il
campo update dev’ essere vuoto, se metti l’id di un div lui ti genera
il codice javascript dentro(try{…}catch)
Il giorno 28/dic/06, alle ore 14:59, Paolo G. ha scritto:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.