Ruby on Rails Dojo

19.06.2007

5th step: modifiche e nuovo layout

Filed under: semilla — carlos @ 8:32

Eccomi di nuovo con ulteriori modifiche apportate a Semilla.
Dal momento che il codice aggiunto comincia ad essere (relativamente) tanto, evito di postarlo sul blog limitandomi a citare i file sui quali sono intervenuto.

Anzitutto modifico il file config/routes.rb per fare in modo che la pagina di default sia account/signup.

Vi è la necessità di un layout “omogeneo” per tutte le pagine dell’applicazione, così imposto un file app/views/layouts/application.rhtml ed un opportuno foglio di stile (public/stylesheets/style.css). Durante lo sviluppo accedo spessp a questi file per adattare (in modo try-and-modify) il layout alle mie esigenze (man mano che le scopro!).

Adesso passo ad implementare della “logica”. Semplifico il form di signup in modo che chieda solo le informazioni minime per creare un account (indirizzo email e password); una volta efettuato il login sarà possibile editare il proprio profilo per modificare gli altri dati (first name, last name e screen name).
Lo screen name è un semplice nick da mostrare all’interno dell’applicazione al posto dell’indirizzo email, e per “invogliare” l’utente a modificarlo lo imposto inizialmente uguale proprio all’indirizzo email (v. metodo signup in app/controllers/account_controller.rb).
Per tenere traccia di questi nuovo campo devo aggiungere una colonna alla tabella users e così utilizzo una migration opportuna….e scopro che sqlite non supporta gli ALTER TABLE (mia ignoranza o cosa?). Comunque sia passo a MySQL…

Continuo impostando l’azione account/edit per permettere all’utente (loggato) di modificare i propri dati. Da notare l’utilizzo di un filtro per proteggere il tutto:

before_filter :login_required, :only => [ :edit, :index, :logout ]

Infine implemento un task rake per fare in modo che il monkey-utente possa facilmente installare l’applicazione utilizzando un database MySQL (e qui facciamo un atto di fede…).
Il task si trova in lib/tasks/semilla.rake, probabilmente è migliorabile e non troppo rubyista infatti:

  • non ho avuto modo di provarlo sotto Windows
  • non salva una copia del file config/database.yml prima di sovrascriverlo

Il task è invocabile da rake utilizzando $ rake semilla:mysql.

Intanto Semilla si presenta così

semilla signup

e non mi dispiace affatto!

Alla prossima!

Annunci

5 commenti »

  1. Bella grafica mi piace!

    consigli del giorno:
    1/ metti l’accesso pubblico per la pubblicazione dei post. altrimenti uno si deve iscrivere a wordpress.
    2/ updatare rails all’ultima versione o fare un freeze gems, devo ancora correggere manualmente la versione

    Commento di kiaroskuro — 20.06.2007 @ 11:31 | Rispondi

  2. MOLTO bello il fatto che lanciare il rake task ti faccia domande. metti però dei default (uid:root pwd: name:semilla)

    non è molto chiaro quando ti chiede il nome che con quel nome andrà a creare i 3 db. la prima volta io ho scritto semilla_development come nome del DB.

    inoltre all’atto della creazione dei DB mi fa casini su windows.. se non riesci a risolverlo ci provo io.

    una nota sul nome del task. non sarebbe meglio semilla:install ?

    Commento di kiaroskuro — 20.06.2007 @ 11:38 | Rispondi

  3. pensavo.. il task potrebbe anche chiederti se deve lanciare la migration .. ?

    Commento di kiaroskuro — 20.06.2007 @ 11:39 | Rispondi

  4. Ho provato l’applicazione. bella bella bella. molto accattivante!

    una nota sullo screenname. in alto a destra una volta che ti sei loggato potrebbe essere opportuno mostrare oltre allo screen name anche l’email IMO… o forse no? boh, di questa non sicuro. aspettiamo il feedback di altri.

    il look mi piace veramente molto.

    se vuoi la posso mettere online per permettere ad altri di fare delle prove.

    Commento di kiaroskuro — 20.06.2007 @ 11:44 | Rispondi

  5. ultima nota. guardando il codice vedo che hai tenuto sia i campi login che email. vale forse la pena tenerne uno solo in tabella (email) e modificare il codice perchè al posto di login venga sempre usato email.

    cosa ne pensi?

    ho messo parecchia carne al fuoco ora.. tante cosette da sistemare, anche se il più in realtà è fatto.

    prova a produrre una TODO list e poi scegliamo le più urgenti da fare.

    Commento di kiaroskuro — 20.06.2007 @ 11:48 | Rispondi


RSS feed for comments on this post. TrackBack URI

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger hanno fatto clic su Mi Piace per questo: