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
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…]
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"); new Effect.Highlight("login",{}); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"login\", \"\\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