# RJS e viste non in ajax

**URL:** <https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038>\
**Category:** IT\
**Created:** [November 23, 2006, 5:45pm UTC](https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038 "2006-11-23T17:45:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [November 23, 2006, 5:45pm UTC](https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038/1 "2006-11-23T17:45:26Z")

</div>

Ciao,

mi trovo a dover richiamare un metodo tramite link to che mi genera una  
vista e mi lancia delle chiamate javascript.

Premetto che non posso farlo in ajax di conseguenza non so visualizzare  
la vista, mi spiego meglio, dentro al metodo “deatails” ho aggiunto  
questo codice  
render :update do |page|

@locations.length.times do |n|

page.call “placeMarker”,  
@locations[n].latitude,@locations[n].longitude,@locations[n].place

end

end

il problema è che così facendo non fa più il render della vista, e come già detto  
non posso usare page.replace\_html.

qualche consiglio?

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [November 23, 2006, 6:07pm UTC](https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038/2 "2006-11-23T18:07:30Z")

</div>

ciao,

stb wrote:

> mi trovo a dover richiamare un metodo tramite link to che mi genera una vista e mi lancia delle chiamate javascript.
> 
> Premetto che non posso farlo in ajax

purtroppo temo che queste due operazioni non vadano d’accordo perche’ se  
clicchi su un link possono succedere due cose:

1. viene eseguito del javascript che eventualmente puo chiamare una URL  
remota e fare qualcosa con il risultato e.g. interpretarlo, sostituire  
parti della pagina ecc. in questo caso utilizzi “Ajax”

2. il browser segue il link richiedendo una URL al server e mostra il  
risultato (e’ il caso normale in cui mostri una vista generata da Rails)

Non puoi nella stessa richiesta sostituire la pagina e far eseguire  
delle chiamate javascript sulla pagina originale.

> render :update do |page|
> 
> @locations.length.times do |n|
> 
> page.call “placeMarker”, @locations[n].latitude,@locations[n].longitude,@locations[n].place
> 
> end
> 
> end

Questo dovra essere fatto _al posto_ del render di una pagina HTML e  
serve _solo_ in caso di interazioni “ajax”

> il problema è che così facendo non fa più il render della vista, e come già detto non posso usare page.replace\_html.

hmm cosa e’ che vuoi ottenere? cioe cosa dovrebbero fare le chiamate a  
placeMarker se operazioni sulla pagina originale allora devi usare ajax,  
se operazioni sulla pagina resa dall’azione allora il modo e’ creare le  
chiamate inline nella pagina.

HTH  
ciao  
Luca

–

## Tel: 3477764416 Email mailto://removed\_email\_address@domain.invalid Skype callto://l.mearelli

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [November 23, 2006, 6:33pm UTC](https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038/3 "2006-11-23T18:33:35Z")

</div>

aggiungo che questo libro (PDF) si Cody F. e’ _altamente_  
consigliato se vuoi utilizare rjs:

> **[RJS Templates for Rails](https://www.oreilly.com/library/view/rjs-templates-for/0596528094/)**
>
> RJS templates are an exciting and powerful new type of template added to Rails 1.1. Unlike conventional Rails templates that generate HTML or XML, RJS templates generate JavaScript code that … - Selection from RJS Templates for Rails \[Book\]

ciao,  
Luca

–

## Tel: 3477764416 Email mailto://removed\_email\_address@domain.invalid Skype callto://l.mearelli

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [November 23, 2006, 7:31pm UTC](https://www.ruby-forum.com/t/rjs-e-viste-non-in-ajax/77038/4 "2006-11-23T19:31:42Z")

</div>

niente ho la pagina con i dettagli di un viaggio, dovrei caricarla  
tramite  
un link to e lanciare le chiamate js che mi posizionano i puntatori  
sulla  
mappa.

peròstavo pensando a UJS, posso agganciare un behavior sul metodo onload  
magari

Che ne dite può funzionare?

----- Original Message -----  
From: “Luca M.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: “ruby-it” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Thursday, November 23, 2006 6:05 PM  
Subject: Re: [ruby-it] RJS e viste non in ajax

ciao,

stb wrote:

> mi trovo a dover richiamare un metodo tramite link to che mi genera una  
> vista e mi lancia delle chiamate javascript.
> 
> Premetto che non posso farlo in ajax

purtroppo temo che queste due operazioni non vadano d’accordo perche’ se  
clicchi su un link possono succedere due cose:

1. viene eseguito del javascript che eventualmente puo chiamare una URL  
remota e fare qualcosa con il risultato e.g. interpretarlo, sostituire  
parti della pagina ecc. in questo caso utilizzi “Ajax”

2. il browser segue il link richiedendo una URL al server e mostra il  
risultato (e’ il caso normale in cui mostri una vista generata da Rails)

Non puoi nella stessa richiesta sostituire la pagina e far eseguire  
delle chiamate javascript sulla pagina originale.

> render :update do |page|
> 
> @locations.length.times do |n|
> 
> page.call “placeMarker”,  
> @locations[n].latitude,@locations[n].longitude,@locations[n].place
> 
> end  
> end

Questo dovra essere fatto _al posto_ del render di una pagina HTML e  
serve _solo_ in caso di interazioni “ajax”

> il problema è che così facendo non fa più il render della vista, e come  
> già detto non posso usare page.replace\_html.

hmm cosa e’ che vuoi ottenere? cioe cosa dovrebbero fare le chiamate a  
placeMarker se operazioni sulla pagina originale allora devi usare ajax,  
se operazioni sulla pagina resa dall’azione allora il modo e’ creare le  
chiamate inline nella pagina.

HTH  
ciao  
Luca

–

## Tel: 3477764416 Email mailto://removed\_email\_address@domain.invalid Skype callto://l.mearelli

* * *

Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)
