On 10/16/06, Guest [email protected] wrote:
Andrea, vergognandomi come un bambino ti illustro la mia triste
situazione:
Ciao biancoc,
non vergognarti, ma prova a seguire le mie istruzioni passo passo, ok?
- Lancia InstantRails.exe
- Fai click sull’icona con la I in nero a sinistra del pulsante
“Apache”.
- Seleziona Rails Applications → Manage Rails Applications…
- In questa schermata trovi tutte le applicazioni Rails che sono
presenti nella cartella rails_apps. Tu vuoi creare una nuova
applicazione, per cui fai click su Create New Rails App…
- Come vedi, una finestra di command prompt si apre, con
rails_appcome directory selezionata. Per essere in grado di usare
un’applicazione
Rails, dobbiamo prima di tutto crearla. Per cui scrivi in tale
finestra: rails
hello e premi invio. Questo comando crea per te la struttura base
dell’applicazione hello.
- cd hello
- dir hello ti mostrerà la lista di cartelle e file presenti
nell’applicazione
- Vogliamo generare un controller principale per la tua applicazione
che chiamiamo Ciao ed una action/metodo al suo interno, che
chiameremo
index. Per cui scrivi: ruby script\generate controller Ciao index che
genera diversi file, tra cui il controller
app\controllers\ciao_controller.rb e il template
app\views\ciao\index.rhtml
- A questo punto vogliamo modificare il template index.rhtml, per
cui
impartisci il comando edit app\views\ciao\index.rhtml (o apri il file
C:\InstantRails\rails_apps\hello\app\views\ciao\index.rhtml nel tuo
editor
di fiducia).
- Cancella il contenuto del file index.rhtml e scrivi al suo
interno: <%= “Ciao Ruby!” %>. Salva il file e chiudi la finestra del
command prompt.
- Nella finestra di InstantRails che è rimasta aperta, fai click su
Refresh List, in modo tale da visualizzare hello nella lista delle
applicazioni.
- Seleziona hello, e fai click su Start with Mongrel. NON chiudere
il command prompt che si apre.
- Avvia Firefox e vai alla pagina: http://localhost:3000/ciao
A questo punto dovresti essere in grado di vedere Ciao Ruby! nella
pagina
generata.
Alcune considerazioni, per chiarire un po’ alcuni dubbi che potresti
avere:
Ciao è il nostro controller, e index è l’action che vogliamo invocare. Il
formato del tuo url, è
http://nomehost:3000/nome_del_controller/nome_della_azione, dove 3000 è la
porta di default che stiamo usando per il server. Nel nostro caso, non
abbiamo specificato http://localhost:3000/ciao/index perché index è l’azione
di default per i controllers, per cui possiamo ometterla. Il template
index.rhtml che abbiamo modificato, è la pagina che viene caricata di
default quando l’azione index è invocata.
Se tu volessi omettere anche il nome del controller, per accedere a
/ciao/index direttamente da http://localhost:3000, puoi rimuovere il
file
C:\InstantRails\rails_apps\hello\public\index.html (attenzione .html
nella
cartella public, non .rhtml nella cartella ciao) e modificare il file
C:\InstantRails\rails_apps\hello\config\routes.rb aggiungendo la riga
map.connect ‘’, :controller => “ciao” (c’è già una riga simile, per cui
basta che rimuovi il carattere # di commento, e sostituisci welcome con
ciao). Se fai queste modifiche, vedrai la pagina desiderata
all’indirizzo
http://localhost:3000/. Se volessi creare una variabile nel controller
inoltre, ed accedervi dal template .rhtml, puoi inserire nell’action
index:
@saluto = “Nuovamente ciao Ruby!”
e richiamare il valore della variabile in index.rhtml con:
<%= @saluto %>
Fino ad ora abbiamo visto View e Controller, nell’acronimo MVC ci manca
il
Model. Non abbiamo effetuato nessuna interazione con i database, per cui
ovviamente il nostro hello world non ha bisogno di un modello. Lavorare
con
i database però, risulta piuttosto semplice e ti consiglio di approfondire
l’argomento, non te ne pentirai. Tieni conto che hai bisogno di creare
modelli che corrispondono alle tabelle che hai nel database, e che puoi
specificare i parametri di connessione nel file
C:\InstantRails\rails_apps\hello\config\database.yml.
Questo dovrebbe darti un piccolo aiuto per iniziare, ma ora sta a te
studiacchiare un po’ di articoli online per capirne di
più.
In bocca al lupo,
Antonio