Ruby on Rails for Designers

Ruby on Rails è un framework web open source ottimizzato per la felicità dei programmatori e la produttività sostenibile. Ti consente di scrivere codice bello favorendo la convenzione sulla configurazione.

Questo è il modo in cui Ruby on Rails si promuove da solo - ma nelle mie parole, è un quadro incredibile che può davvero semplificarti la vita. Puoi saperne di più sul loro sito http://rubyonrails.org

Passo 1- Installazione di Ruby on Rails

Installare Ruby on Rails (spesso abbreviato in RoR) è abbastanza indolore nella maggior parte dei sistemi, ma è necessario essere a proprio agio ad aprire il terminale. La pagina di download di Ruby on Rails fornisce i collegamenti per iniziare e io li riprodurrò qui per farti risparmiare un po 'di tempo. Come nota, questi sono i posti per ottenere Ruby, che è ciò che Rails è programmato, e installeremo Rails in un minuto. Per ulteriori informazioni sulla lingua, consultare il sito Ruby

  • Finestre: Installer Ruby con un clic (io consiglio di utilizzare 1.8.6-26 Release finale)
  • Mac OS X 10.4: Navi con Ruby rotto ma puoi seguire l'incredibile guida di Dan Benjamin
  • Mac OS X 10.5: Se installi gli Strumenti per sviluppatori da Apple, sarai impostato. Prova i tuoi dischi di installazione o il sito per sviluppatori Apple e scarica Xcode
  • Linux: Anche se questo può variare per ogni distribuzione, dovrai installare ruby, irb e rdoc

Ora che abbiamo scaricato Ruby, assicurati di avere RubyGems, che è un gestore di pacchetti per Ruby.

Per verificare se si dispone di RubyGems, eseguire quanto segue nel terminale:

gemma -v

Al momento della stesura di questo, 1.3.2 è l'ultima versione. Per aggiornare se non si dispone della versione più recente, eseguire quanto segue e, se si è su un Mac, mettere sudo in primo piano.

gem update - system

Se non utilizzerai RubyGems, procedi nel seguente modo:

  1. Scarica l'ultima versione di RubyGems qui.
  2. Estrai il pacchetto
  3. Cambia nella directory nel tuo terminale (cd è il comando)
  4. Esegui questo nel terminale: ruby ​​setup.rb (aggiungi sudo davanti al comando per gli utenti di Linux e Mac OS X, dovrai anche continuare per tutti i comandi di installazione di gem)

Se hai un sistema Linux, dovresti essere in grado di installare RubyGems attraverso il tuo gestore di pacchetti, ma preferisco il metodo sopra. In caso di ulteriori problemi, consultare la documentazione di installazione sul sito RubyGems.

Installazione di Rails

Ora che abbiamo l'ultima versione di RubyGems, installiamo Rails:

gem install bails

Ci vorranno alcuni minuti per installare Rails e tutte le sue dipendenze.

Passaggio 2: creazione di un'applicazione

Quindi ora che abbiamo installato Ruby, RubyGems e Rails, creiamo un progetto! Per creare un nuovo progetto, utilizzerai il comando Rails per creare nuovi progetti. Creeremo un semplice progetto chiamato "blog". Nota: Questo creerà la cartella dell'app nella directory corrente in cui ti trovi, quindi assicurati di cambiare nella directory in cui vuoi che l'app sia archiviata.

blog di rotaie

Dovresti vedere qualcosa come questa:

Quindi, apri il progetto nel tuo editor di testo / IDE preferito. Personalmente adoro TextMate, mentre solo per Mac OS X ci sono alcuni fantastici cloni che sono anche disponibili.

Struttura delle cartelle

La struttura delle cartelle di un Ruby on Rails sarà simile alla seguente:

Ci sono tre cartelle su cui ogni sviluppatore o designer dovrà lavorare quotidianamente: l'app, la configurazione e le cartelle pubbliche. Si prega di rivedere le brevi spiegazioni per ciascuna delle cartelle:

  • app: Qui è dove vive la logica della tua applicazione.
    • controller: È qui che Rails cerca le classi del controllore. In breve, questi ricevono le richieste.
    • aiutanti: Gli helper vivono in questa directory e assistono i controller, i modelli e le visualizzazioni
    • Modelli: Ognuna di queste rappresenta fondamentalmente una tabella nel database, quindi trovare informazioni e configurare la tua applicazione è semplicissimo
    • visualizzazioni: cosa vede l'utente
      • layout: questi sono ciascuno dei layout che è possibile definire un controller da utilizzare. Rende molto semplice la templatura.
      • tutti gli altri: Mentre nella nostra applicazione attualmente non ne abbiamo, ognuna delle altre cartelle presenti in questa cartella rappresenta e si relaziona ai controller, e i file che saranno qui corrispondono alle azioni nel controller
  • config: Questa cartella contiene tutte le impostazioni della tua app. Alcuni file specifici:
    • database.yml: Questo file contiene le impostazioni del database
    • environment.rb: Questo file contiene le impostazioni di Rails per la tua applicazione
    • environements /: Questa cartella contiene le impostazioni di configurazione per ciascuno degli ambienti specifici: sviluppo, test e produzione
    • routes.rb: Questo file contiene le impostazioni per lo schema dell'URL, così come l'URL specifico e dove inviare le richieste
  • db: Questa cartella finirà per contenere il tuo database (se usi sqllite), lo schema del tuo database e tutte le migrazioni del tuo database (modifiche alla struttura)
  • doc: Questa cartella conserverà tutta la documentazione generata da rake doc: app
  • lib: I file qui contengono codice specifico dell'applicazione che non appartiene ai controller.
  • log: Rails memorizza i log qui, quattro di essi. Uno per elementi specifici del server in server.log e uno per ciascun ambiente.
  • pubblico: Questa cartella contiene tutti i file che non cambieranno tanto. Rails cerca i file prima di provare ad accedere a un controller. I javascript sono memorizzati nella cartella javascript, nelle immagini nella cartella delle immagini e nei fogli di stile nella cartella dei fogli di stile. File statici come robots.txt e altri file html possono anche essere memorizzati qui. Assicurati di eliminare il file index.html perché verrà visualizzato al posto di quello che desideri!
  • script: Questi script rendono la tua vita molto più facile. Lo script del server avvia il server Web di sviluppo e genera codice generati.
  • test: I test che scrivi e quelli creati da Rails per te sono tutti archiviati qui.
  • tmp: Rails memorizza qui qualsiasi file temporaneo.
  • vendor: Qui puoi installare qualsiasi plug-in (o libreria) di Rails realizzato da terze parti che non sono predefiniti con la distribuzione di Rails.

Passaggio 3: sporcarsi le mani

Sebbene lo scopo di questo tutorial non sia quello di creare un'applicazione, faremo ancora un po 'di programmazione. Per prima cosa creiamo un controller di nome articoli: (Assicurati di aver cambiato nella root dell'applicazione Rails)

script / generare articoli di controllo

Ora apri il file e dovresti vedere questo:

classe ArticlesController < ApplicationController end 

Tutto questo codice dice che stiamo definendo una nuova classe chiamata ArticlesController che eredita da un'altra classe chiamata ApplicationController. Ora, creeremo un nome (indicato come metodo in senso stretto in Ruby), quindi quando andate a http: // localhost: 3000 / articles / vi verrà mostrato qualcosa. Cambia il tuo codice in modo che assomigli:

classe ArticlesController < ApplicationController def index end end

Quindi ora che abbiamo un'azione, vai alla cartella app / views. Creeremo una vista in modo tale che quando un utente richiede quell'URL, in realtà vedono qualcosa. Potresti aver notato che c'è una nuova cartella in qui denominata articoli; questa cartella è stata creata quando abbiamo generato il controller. Quindi, crea un nuovo file nella cartella degli articoli denominata index.html.erb. Si può chiedere del finale, l'html si riferisce al tipo di file e l'erb si riferisce a Ruby incorporato come motore di template. Personalmente preferisco rhtml in quanto è un singolo finale, ma sarà deprecato in Rails 3, che è previsto per essere rilasciato a RailsConf questa estate. Metti questo nel tuo nuovo file:

Adesso sono le <%= Time.now %>

I tag & lt% =%> potrebbero incuriosirti. Questo tag è inteso in modo che Ruby esegua i risultati del codice Ruby allegato. Quindi questo codice stamperà il tempo ora. L'altro tag che userai in Rails è semplicemente <%- -%>. Questo tag è pensato per il codice Ruby che in realtà non produce nulla, come quando si ripete attraverso gli elementi in un array.

Ora stiamo per creare un layout per rendere bello questo testo. Quindi crea un file nella directory views / layouts chiamato application.html.erb con il seguente:

   <%= h(@title) %> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'prototype' %> <%= yield(:head) %>   
<%- flash.each do |name, msg| -%> <%= content_tag :div, msg, :id => "flash _ # nome"%> <%- end -%> <%= yield %>

Innanzitutto, prima di spiegare il codice, voglio che tu sappia perché abbiamo chiamato il file application.html.erb. Rails caricherà automaticamente questo layout ogni volta che non diversamente specificato. Se avessi chiamato questo layout "layout", avresti dovuto aggiungere layout: layout nella parte superiore del controller. Questo blocco di codice contiene alcune importanti informazioni che vorrete sapere quando sviluppate i layout.

  • <%= stylesheet_link_tag 'application' %>: Questo tag genera il tag di inclusione CSS per il file CSS denominato application.css
  • <%= javascript_include_tag 'prototype' %>: Questo tag genera il tag di inclusione Javascript per la libreria javascript di Prototype. Prototype è la libreria javascript predefinita fornita con Rails. Puoi anche inserire: default (non tra virgolette singole) invece di solo prototipo e Rails caricherà tutti i valori predefiniti: tutti caricheranno tutti i file nella cartella public / javascripts.
  • <%- flash.each do |name, msg| -%>: Questo codice e il codice nel blocco indicano che per ogni elemento nell'array Flash verrà visualizzato un messaggio per l'utente.
  • <%= yield %>: In questo modo vengono visualizzate tutte le informazioni dalla vista individuale e le uscite all'interno del modello e vengono inviate all'utente.

Ora, creiamo un rapido file CSS, denominato application.css in public / stylesheet, e inseriamo quanto segue:

body background-color: # 111; famiglia di caratteri: Verdana, Helvetica, Arial; font-size: 14px;  #container width: 75%; margine: 0 auto; background-color: #FFF; imbottitura: 10px; border: solid 5px # 999; margin-top: 20px; 

Ora abbiamo un'applicazione molto semplice per la visualizzazione dell'ora corrente; si spera, si dovrebbe essere più familiarità con le basi di Rails.

Step 4 - Finire

Potresti pensare "Questo è bello e tutto, ma come posso vedere il prodotto finale?" Esiste un comando di terminale che è necessario eseguire mentre si trova nella base dell'applicazione Rails per avviare il server di sviluppo locale. script / server avvierà il server, normalmente sulla porta 3000. Esegui il comando e punta il tuo browser a http://127.0.0.1:3000/articles. Dovresti vedere quanto segue:

Per fermare il server selezionare la finestra del terminale e Control-C. Questo fermerà il server di sviluppo. Come nota, assicurati di non eseguire mai un server di produzione in questo modo.

C'è un'ultima cosa che vorrei mostrarti. Come ho detto prima, il file config / routes.rb gestisce dove vanno le richieste. Apri il file; lo faremo così quando andrai su http://127.0.0.1:3000/, vedrai la stessa cosa di prima. Trova la riga, "# Puoi far sì che la radice del tuo sito sia instradata con map.root - ricorda solo di eliminare public / index.html." Sotto questa sezione, aggiungi quanto segue:

map.root: controller => "articoli"

Salva il file e assicurati di riavviare il server web. È sempre necessario riavviare il server ogni volta che si crea un nuovo modello e modificare alcuni altri file che Rails archivia in memoria per accelerare il server. Assicurati di eliminare public / index.html, o semplicemente rinominarlo. Ora assicurati che il server sia avviato e vai a http://127.0.0.1:3000. Dovresti vedere la stessa cosa.

Conclusione

Quindi ora dovresti essere un po 'più familiare con Ruby on Rails. Ho anche collegato ad alcuni siti davvero fantastici a cui fare riferimento durante lo sviluppo con Rails. Divertiti a programmare con Rails!

  • I Railscast di Ryan Bates sono un'incredibile fonte di tutorial video e puoi sempre aspettarti qualcosa di eccezionale.
  • L'API Rails è un ottimo modo per trovare maggiori informazioni su un argomento di cui potresti non essere completamente sicuro.

Seguici su Twitter per ulteriori tuts e articoli di sviluppo web giornalieri.