Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare risorse tramite scaffold

Generare automaticamente l'interfaccia per l'amministrazione dei dati
Generare automaticamente l'interfaccia per l'amministrazione dei dati
Link copiato negli appunti

In questa lezione ci concentriamo sui bookmark, gli oggetti che vogliamo gestire con la nostra applicazione. Ogni bookmark è definito da un URL, un titolo e una descrizione; dovrà essere possibile creare nuovi bookmark, modificare quelli già inseriti e cancellare quelli che non ci interessano più.

Torniamo al terminale. Utilizzeremo l'istruzione generate scaffold per creare la nuova risorsa Bookmark indicando direttamente da riga di comando gli attributi che ogni bookmark deve esporre e il relativi tipo.

Creare lo scaffold (l'impalcatura) per il bookmark

$ ruby script/generate scaffold bookmark url:string title:string description:text 

A terminale appare un nuovo elenco di cartelle e file che Rails genera e inserisce nello scheletro dell'applicazione per assicurare le funzionalità base della risorsa Bookmark:

Esempio di output su console

$ ruby script/generate scaffold bookmark url:string title:string description:text

  exists  app/models/
  exists  app/controllers/
  exists  app/helpers/
  create  app/views/bookmarks
  exists  app/views/layouts/
  exists  test/functional/
  exists  test/unit/
  exists  public/stylesheets/
  create  app/views/bookmarks/index.html.erb
  create  app/views/bookmarks/show.html.erb
  create  app/views/bookmarks/new.html.erb
  create  app/views/bookmarks/edit.html.erb
  create  app/views/layouts/bookmarks.html.erb
  create  public/stylesheets/scaffold.css
  create  app/controllers/bookmarks_controller.rb
  create  test/functional/bookmarks_controller_test.rb
  create  app/helpers/bookmarks_helper.rb
  route  map.resources :bookmarks
dependency  model
  exists    app/models/
  exists    test/unit/
  exists    test/fixtures/
  create    app/models/bookmark.rb
  create    test/unit/bookmark_test.rb
  create    test/fixtures/bookmarks.yml
  create    db/migrate
  create    db/migrate/20080602001649_create_bookmarks.rb

Sempre dal terminale digitiamo rake db:migrate per preparare il database e la tabella necessaria alla gestione della risorsa:

$ rake db:migrate
== 20080602001649 CreateBookmarks: migrating ==================================
-- create_table(:bookmarks)
   -> 0.0047s
== 20080602001649 CreateBookmarks: migrated (0.0050s) =========================

Se ispezioniamo la tabella bookmarks appena creata, troviamo tutte le colonne che abbiamo richiesto con l'istruzione generate scaffold.

Avviamo ora il Web server con il comando ruby script/server e puntiamo il browser all'indirizzo http://0.0.0.0:3000/bookmarks/new per visualizzare la pagina per la creazione di un nuovo bookmark.

Figura 2. La pagina di creazione di un nuovo bookmark
La pagina di creazione di un nuovo bookmark

Questa pagina, come le altre che vedremo fra poco, è stata generata automaticamente da Ruby on Rails seguendo le indicazioni del comando scaffold. È stato creato il form che contiene i campi url, title e description e sono stati utilizzati tipi di input HTML differenti a seconda del tipo di dato (textfield per il tipo string e textarea per il tipo text).

Valorizziamo i campi del form inserendo URL, titolo e descrizione per il sito http://ruby.html.it e premiamo il pulsante Create. L'applicazione salverà i dati nel database e mostrerà la pagina http://0.0.0.0:3000/bookmarks/1, contenente i dati del bookmark appena inserito.

Selezionando il link Back possiamo visualizzare tutti i bookmark inseriti, e per ogni bookmark i link per visualizzarlo, modificarlo e cancellarlo (Show, Edit, Destroy).

Ti consigliamo anche