# Replace\_html: cosa sto sbagliando?

**URL:** <https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633>\
**Category:** IT\
**Created:** [May 31, 2007, 9:52pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633 "2007-05-31T21:52:44Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [May 31, 2007, 9:52pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/1 "2007-05-31T21:52:44Z")

</div>

Chiedo venia, ma mentre scrivevo il precedente post mi Ã¨ partito un  
submit a tradimento.

Sto scrivendo una piccola applicazione di eshop basata sull’esempio  
presente sul libro “Agile Web D. with Rails”. Il mio problema Ã¨  
che dopo che il cliente ha fatto il login, vorrei che nella stessa  
sezione

 venisse mostrato un piccolo menÃ¹ con le solite opzioni  
tipo “Logout”, “Modifica i tuoi dati”, ecc…

Il codice Ã¨ questo:

# Il controller

class ProductCatalogController \< ApplicationController  
[…altre action…]

def login  
[…controlla se l’utente esiste…]

```
 if session[:customer] != nil
   render :update do |page|
      page.replace_html 'login', :partial => 'customer_menu',

```

:object =\> @customer  
page.visual\_effect :highlight, ‘login’  
end  
end

def customer\_menu

end  
end

# Il layout

[…codice html…]

 \<%= render :partial =\> 'login' %\> 
 [...altro codice html...]

Questo all’inizio fa apparire la form di login, quindi se l’utente  
esiste il controller deve sostituire la form con il menÃ¹ del customer.  
Invece di fare questo, mi viene visualizzata una pagina con il codice  
generato dalle chiamate ajax nel controller (al momento Ã¨ una tabella  
html vuota):

try {  
Element.update(“login”, "\n\<table style=“text-align: left; width:  
100%;” border=“1”\n cellpadding=“2” cellspacing=“2”\>\n

\n \n \n \n \n \n \n \n \n \n\n  
\n\n"); new Effect.Highlight("login",{}); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"login\", \"\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

| | |
| | |

\\n  
\\n\\n\");\nnew Effect.Highlight(\"login\",{});'); throw e }

Cosa sto sbagliando? Potete aiutarmi?  
Sta cosa mi sta tirando scemo perchÃ© in teoria Ã¨ molto semplice da fare,  
eppure…

Ciao e grazie, Emiliano

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 12:05pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/2 "2007-06-03T12:05:40Z")

</div>

On 5/31/07, Emiliano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Sto scrivendo una piccola applicazione di eshop basata sull’esempio  
> presente sul libro “Agile Web D. with Rails”. Il mio problema è  
> che dopo che il cliente ha fatto il login, vorrei che nella stessa  
> sezione
> 
> venisse mostrato un piccolo menù con le solite opzioni  
> tipo “Logout”, “Modifica i tuoi dati”, ecc…

Perché non provi a realizzarla _senza_ Ajax? Lo so che suona assurdo  
alle orecchie di voi giovani… 🙂 ma prima di fare magie con Ajax  
sarebbe meglio fare funzionare le cose con il buon vecchio codice  
RHTML !

M

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 12:11pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/3 "2007-06-03T12:11:41Z")

</div>

Mi unisco alla voce di matteo:

È indispensabile sviluppare tutto lo scheletro dell’applicazione senza  
fare uso di javascript

Poi condite tutto con tutto il javascript che volete, assicurandovi che  
semplicemnte disabilitandolo tutto scali sulla versione senza script…

Non vi tedio con le mie teorie sui side effects di stendere la prima  
mano con il pennellino da frate miniaturista anziché con la pennellessa,  
ma è un po come incrociare i raggi… È male. 🙂

jeko

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 12:39pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/4 "2007-06-03T12:39:45Z")

</div>

Matteo V. ha scritto:

> Perché non provi a realizzarla _senza_ Ajax? Lo so che suona assurdo  
> alle orecchie di voi giovani… 🙂  
> Giovani, magari 🙂  
> ma prima di fare magie con Ajax  
> sarebbe meglio fare funzionare le cose con il buon vecchio codice  
> RHTML !

Cosa che ho fatto, adesso volevo aggiungere un pò di orpelli per  
renderla più gradevole agli utenti.

Comunque perché invece di fare polemica, non provi ad essere d’aiuto?

Vabbè problema l’ho risolto.

Ti ringrazio lo stesso per la lezione di vita.

Emiliano.

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 1:03pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/5 "2007-06-03T13:03:46Z")

</div>

Mi spiace Emiliano se ti abbiamo dato l’impressione di far polemice, noi  
si chiacchera, tutto qua 🙂

Con qualche ciclo iterativo in piu, saremmo sicuramente giunti ad una  
soluzione: non essendo un problema strettamente correlato a Ruby, poteva  
essere una occasione per conoscerci

Ciao! jek

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 2:18pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/6 "2007-06-03T14:18:58Z")

</div>

Matteo V. ha scritto:

> E’ quello che cercavo di fare, infatti… hai la pelle sottile o sbaglio?

Pensi che la tua risposta al mio primo post sia stata costruttiva?  
Se avessi voluto aiutare, mi avresti risposto una cosa come: “Dovresti  
usare form\_remote\_tag invece di start\_form\_tag, vatti a vedere come  
funziona”, invece hai pontificato senza però elargire il tuo sapere.

Comunque lo ripeto: il problema l’ho risolto… da solo.

Senza rancore

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 3, 2007, 1:36pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/7 "2007-06-03T13:36:53Z")

</div>

On 6/3/07, Emiliano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Comunque perché invece di fare polemica, non provi ad essere d’aiuto?

E’ quello che cercavo di fare, infatti… hai la pelle sottile o  
sbaglio?

M

---

<div class="post-metadata">

**Author:** ![emiliano](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@emiliano](https://www.ruby-forum.com/u/emiliano)\
**Post date:** [June 4, 2007, 12:02pm UTC](https://www.ruby-forum.com/t/replace-html-cosa-sto-sbagliando/105633/8 "2007-06-04T12:02:11Z")

</div>

On 6/3/07, Emiliano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Senza rancore

Mi rendo conto che nella mia risposta al tuo primo messaggio ho usato  
un tono condiscendente, che non avrei dovuto permettermi di usare dato  
che non ti conosco e non sei un mio studente, per cui ti chiedo scusa.

M
