Replace_html: cosa sto sbagliando?

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

On 5/31/07, Emiliano C. [email protected] 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… :slight_smile: ma prima di fare magie con Ajax
sarebbe meglio fare funzionare le cose con il buon vecchio codice
RHTML !

M

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. :slight_smile:

jeko

Matteo V. ha scritto:

Perché non provi a realizzarla senza Ajax? Lo so che suona assurdo
alle orecchie di voi giovani… :slight_smile:
Giovani, magari :slight_smile:
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.

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

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

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

On 6/3/07, Emiliano C. [email protected] 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

On 6/3/07, Emiliano C. [email protected] 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