[ruby-it] Dubbi di un principiante

David david.palm a iperbole.bologna.it
Mer 22 Ago 2007 13:58:08 CEST


On Wed, 22 Aug 2007 13:15:51 +0200, Marco Mastrodonato wrote:
> 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:
> 
> 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.

Invece di usare redirect_to userei render direttamente.

render :index dovrebbe darti index.rhtml

Sennò, come ti suggerisce Marco, usi il flash. Dovresti dare un'occhiata agli strumenti di gestione degli errori di Rails però. Fare da sé funziona, certo, ma rails è lì per aiutarti con queste robe noiose, quindi userei error_messages_for nella view.

> 
> 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"

Come sopra, rails ti vuol bene e ti da il metodo stylesheet_link_tag da mettere nel header del tuo layout. Fa proprio questo. :-)

> type="text/css"/>
> 
> Grazie a chi avrà la pazienza di risolvere questi dubbi
> Ciao


Maggiori informazioni sulla lista Ml