[ruby-it] Dubbi di un principiante

Nicholas Wieland n.wieland a tochunky.org
Mer 22 Ago 2007 16:45:23 CEST


Il giorno 22/ago/07, alle ore 13:15, Marco Mastrodonato ha scritto:

> Ciao a tutti, ho iniziato da poco a studiare ruby grazie alla guida su
> HTML.it e ne sono subito rimasto affascinato. Ho comprato anche il  
> libro
> della apogeo scritto da Marco Ceresa e piano piano mi sto portando
> avanti ma ho alcuni dubbi che mi farebbe comodo chiarire subito:

Eh, speriamo che il capitolo sui DB non faccia troppo cagare :D

> 1. Quando uso il metodo redirect_to mi si azzerano le variabili di
> istanza, è normale? Se si, come faccio ad ovviare, faccio un esempio:
> ho un metodo di servizio remove_record, lo eseguo, c'è un errore e
> voglio tornare  indietro per visualizzare la descrizione  
> dell'errore. Io
> avrei riempito una variabile @error e che avrei letto nella pagina
> index.rhtml ma tornati indietro quella variabile è vuota.
> Se faccio una pagina remove_record.rhtml e quindi non uso
> redirect_to(:back) la variabile @error è correttamente valorizzata.

E' normale: redirect è appunto un redirect, richiama un'altra azione  
totalmente slegata da quella precedente.
Hai due alternative: usare render, che renderizza una vista usando  
ciò che gia' ha (ovvero, da controller/foo puoi dare render  
controller/bar, e mantenere tutte le variabili di istanza di foo) o  
usare la variabile flash.

> 2. Seguendo la guida ho creato un template comune application.rhtml e
> l'html comune lo inserisco quà ma come si fa ad includere documenti  
> come
> stylesheet o anche riferimenti ad immagini se il riferimento a  
> questi è
> variabile? Faccio un esmepio:
>
> Nell'index del controller nessun problema
> http://127.0.0.1:3000/home
>
> ma appena utilizzo un metodo e l'indirizzo cambia perdo il link ai
> riferimenti
> http://127.0.0.1:3000/home/msg
>
> Questo è il mio link:
> <link rel="stylesheet" href="../stylesheets/style2.css"
> type="text/css"/>

Oddio, detta cosi' suona un po' confusa.
I layout inglobano semplicemente la vista dell'azione, non sono  
rocket science.
Hai ancora una volta due strade: definire variabili di istanza nelle  
varie azioni che settano i valori che ti servono e che vengono lette  
dal layout normalmente (soluzione bruttozza) o scriverti degli helper.

HTH,
   ngw

-- 
Nicholas Wieland
nicholas.wieland a gmail.com





Maggiori informazioni sulla lista Ml