Skip to content

Rails 2.0 per iniziare

mercoledì 19 marzo , 2008
by

Questo articolo è la mia personale traduzione di questo post. La traduzione può non essere letterale. Ho volutamente tralasciato l’installazione di Rails, in quanto già discussa precedentemente.
Con il comando

$ gem update rails –-include-dependencies

si dovrebbe in ogni caso aggiornare il software all’ultima versione disponibile

Ruby n Rails 2.0 è stato rilasciato il 7 Dicembre 2007 e ci sono molte differenze dalla versione precedente (come è giusto aspettarsi) a partire dalla generazione del codice tramite “scaffold”.

Ecco un esempio di applicazione: gestione dell’inventario di una videoteca. Il progetto avrà nome “exchange” (mantengo l’originale dalla guida).

Mano al terminale, con il quale creeremo la nosra cartella di lavoro e nella quale salveremo tutti i nostri file.
$ mkdir work
$ cd work
work$ rails exchange
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
create test/fixtures
create test/functional
create test/integration
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/boot.rb
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/console
create script/destroy
create script/generate
create script/performance/benchmarker
create script/performance/profiler
create script/performance/request
create script/process/reaper
create script/process/spawner
create script/process/inspector
create script/runner
create script/server
create script/plugin
create public/dispatch.rb
create public/dispatch.cgi
create public/dispatch.fcgi
create public/404.html
create public/422.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log

Rails creerà l’intero framework per l’applicazione. Entriamo nella cartella contente il progetto e saremo pronti per iniziare.
work$ cd exchange

Database

Configurare il database è stata per me una croce, in quanto ho tentato di integrarlo con xampp. Per quanto abbia provato non funziona. Con MAMP sembra invece non dare problemi, con le seguenti impostazioni (file /exchange/config/database.yml):

development:
adapter: mysql
database: project2_development
socket: /Applications/MAMP/tmp/mysql/mysql.sock
username: root
password: root


test:
adapter: mysql
database: project2_development
socket: /Applications/MAMP/tmp/mysql/mysql.sock
username: root
password: root


production:
adapter: mysql
database: project2_development
socket: /Applications/MAMP/tmp/mysql/mysql.sock
username: root
password: root

Fatto questo non occorre creare i database, penserà Rails 2.0 a farlo al posto nostro, con un semplice comando:
exchange$ rake db:create:all

Benissimo, ora sono stati creati 3 database: sviluppo (development), test (test) e produzione (production).
Avviamo il server (integrato) webrick:
exchange$ ruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2007-12-13 12:01:16] INFO WEBrick 1.3.1
[2007-12-13 12:01:16] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2007-12-13 12:01:16] INFO WEBrick::HTTPServer#start: pid=3637 port=3000

Apriamo un browser e andiamo all’indirizzo:

http://localhost:3000

Mi è stato fatto notare che Leopard a volte crea problemi con questo indirizzo per quanto riguarda poi i route.

Se ci fossero anomalie, provate l’equivalente: 127.0.0.1:3000

Ecco come appare la schermata:

Cosa cambia esattamente con il nuovo Rails?
I vecchi tutorial ora avrebbero suggerito di creare un modello tramite il quale poi si sarebbe costruite le tabelle nel database, tramite migrate, quindi si sarebbe generato un controller e poi chiamto scaffolding.
Non è così per Rails 2.0.

Con il comando seguente creeremo il modello, scaffolding, e lo script di migrate per il database, controller, helper e file di test. (Suppongo ci sia una minima conoscenza dell’argomento ruby and rails da chi legge).

exchange$ ruby script/generate scaffold Movie title:string description:text one_sheet_url:string
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/movies
exists app/views/layouts/
exists test/functional/
exists test/unit/
create app/views/movies/index.html.erb
create app/views/movies/show.html.erb
create app/views/movies/new.html.erb
create app/views/movies/edit.html.erb
create app/views/layouts/movies.html.erb
create public/stylesheets/scaffold.css dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/movie.rb
create test/unit/movie_test.rb
create test/fixtures/movies.yml
create db/migrate
create db/migrate/001_create_movies.rb
create app/controllers/movies_controller.rb
create test/functional/movies_controller_test.rb
create app/helpers/movies_helper.rb
route map.resources :movies

a questo indirizzo: db/migrate/001_create_movies.rb avremo le informazioni tramite le quali saranno generate le tabelle nel database

Per eseguire il migrate:
xchange$ rake db:migrate

Possiamo avviare il server nuovamente e edere il risultato
/exchange$ ruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2007-12-13 17:12:06] INFO WEBrick 1.3.1
[2007-12-13 17:12:06] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2007-12-13 17:12:06] INFO WEBrick::HTTPServer#start: pid=4054 port=3000

null
Proviamo a creare, editare, cancellare film e vedremo che sono già funzionanti le principali azioni (Create, Read, Update and Delete) per un database

Riassunto:

Installazione Rails
#gem install rails --include-dependencies

Creazione Applicazione Rails
$rails exchange

Creazione database con il comando rake
$ rake db:create:all

Usato la sintassi script/generate per generare lo scheletro dell’applicazione (scaffolding)
$ ruby script/generate scaffold Movie title:string description:text one_sheet_url:string

Creazione delle tabelle nel database
$ rake db:migrate

Avviato il server webrick
$ ruby script/server

Puntato il browser all’indirizzo http://localhost:3000/movies e… voilà🙂
http://localhost:3000/movies

3 commenti leave one →
  1. miki permalink
    martedì 17 luglio , 2012 10:21 pm

    ottimo

Trackbacks

  1. Media Districts Entertainment Blog » Rails 2.0 per iniziare
  2. Movies and Film Blog » Rails 2.0 per iniziare

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

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

%d blogger cliccano Mi Piace per questo: