Ricerca…


Osservazioni

logo

Ruby on Rails (RoR), o Rails, è un framework di applicazioni web popolare open source. Rails utilizza Ruby, HTML, CSS e JavaScript per creare un'applicazione Web che gira su un server web. Rails utilizza il pattern model-view-controller (MVC) e fornisce una serie completa di librerie dal database fino alla vista.

Versioni

Versione Data di rilascio
5.1.2 2017/06/26
5.0 2016/06/30
4.2 2014/12/19
4.1 2014/04/08
4.0 2013/06/25
3.2 2012-01-20
3.1 2011-08-31
3.0 2010-08-29
2.3 2009-03-16
2.0 2007-12-07
1.2 2007-01-19
1.1 2006-03-28
1.0 2005-12-13

Creazione di un'applicazione Ruby on Rails

Questo esempio presuppone che Ruby e Ruby on Rails siano già stati installati correttamente. Altrimenti, puoi trovare come farlo qui .

Apri una riga di comando o un terminale. Per generare una nuova applicazione di rotaie, usa il comando rails new seguito dal nome della tua applicazione:

$ rails new my_app

Se si desidera creare l'applicazione Rails con una versione specifica di Rails, è possibile specificarla al momento della generazione dell'applicazione. Per farlo, usa le rails _version_ new seguito dal nome dell'applicazione:

$ rails _4.2.0_ new my_app 

Ciò creerà un'applicazione Rails chiamata MyApp in una directory my_app e installerà le dipendenze gemme già menzionate in Gemfile utilizzando l' bundle install .

Per passare alla directory dell'app appena creata, utilizzare il comando cd , che rappresenta la change directory .

$ cd my_app

La directory my_app ha un numero di file e cartelle generati automaticamente che costituiscono la struttura di un'applicazione Rails. Di seguito è riportato un elenco di file e cartelle che vengono creati per impostazione predefinita:

Cartella di file Scopo
app / Contiene controller, modelli, viste, helper, mailer e risorse per la tua applicazione.
bidone/ Contiene lo script rails che avvia la tua app e può contenere altri script che utilizzi per impostare, aggiornare, distribuire o eseguire la tua applicazione.
config / Configura percorsi, database e altro della tua applicazione.
config.ru Configurazione rack per server basati su rack utilizzati per avviare l'applicazione.
db / Contiene lo schema del database corrente e le migrazioni del database.
Gemfile Gemfile.lock Questi file ti permettono di specificare quali dipendenze gem sono necessarie per la tua applicazione Rails. Questi file sono usati dalla gemma di Bundler.
lib / Moduli estesi per la tua applicazione.
log / File di registro dell'applicazione.
pubblico/ L'unica cartella vista dal mondo così com'è. Contiene file statici e risorse compilate.
Rakefile Questo file individua e carica attività che possono essere eseguite dalla riga di comando. Le definizioni delle attività sono definite in tutti i componenti di Rails.
README.md Questo è un breve manuale di istruzioni per la tua applicazione. Dovresti modificare questo file per dire agli altri cosa fa la tua applicazione, come configurarla ecc
test/ Test unitari, infissi e altri apparati di prova.
temp / File temporanei (come i file cache e pid).
vendor / Un posto per tutto il codice di terze parti. In una tipica applicazione Rails questo include gemme vendute.

Ora devi creare un database dal tuo file database.yml :

5.0
rake db:create
# OR
rails db:create
5.0
rake db:create

Ora che abbiamo creato il database, dobbiamo eseguire le migrazioni per configurare le tabelle:

5.0
rake db:migrate
# OR
rails db:migrate
5.0
rake db:migrate

Per avviare l'applicazione, è necessario attivare il server:

$ rails server
# OR
$ rails s

Per impostazione predefinita, i binari avvieranno l'applicazione alla porta 3000. Per avviare l'applicazione con un numero di porta diverso, dobbiamo accendere il server come,

$ rails s -p 3010

Se navighi su http: // localhost: 3000 nel tuo browser, vedrai una pagina di benvenuto di Rails, che mostra che la tua applicazione è ora in esecuzione.

Se genera un errore, potrebbero esserci diversi possibili problemi:

  • C'è un problema con il config/database.yml
  • Hai dipendenze nel tuo Gemfile che non sono state installate.
  • Hai migrazioni in sospeso. Esegui rails db:migrate
  • Nel caso in cui ci si sposta al rails db:rollback migrazione precedente rails db:rollback

Se ciò genera ancora un errore, allora dovresti controllare il tuo config/database.yml

Crea una nuova app Rails con la tua scelta di database e includendo lo strumento di test RSpec

Rails utilizza sqlite3 come database predefinito, ma è possibile generare una nuova applicazione rails con un database a scelta. Basta aggiungere l'opzione -d seguita dal nome del database.

$ rails new MyApp -T -d postgresql

Questa è una lista (non esaustiva) di opzioni di database disponibili:

  • mysql
  • oracolo
  • PostgreSQL
  • sqlite3
  • FrontBase
  • ibm_db
  • server SQL
  • jdbcmysql
  • jdbcsqlite3
  • jdbcpostgresql
  • JDBC

Il comando -T indica di saltare l'installazione di minitest. Per installare una suite di test alternativa come RSpec , modifica il Gemfile e aggiungi

group :development, :test do
  gem 'rspec-rails', 
end

Quindi avviare il seguente comando dalla console:

rails generate rspec:install

Generazione di un controller

Per generare un controller (ad esempio Posts ), accedere alla directory del progetto da una riga di comando o terminale ed eseguire:

$ rails generate controller Posts

Puoi abbreviare questo codice sostituendo generate con g , ad esempio:

$ rails g controller Posts

Se apri l'app / controller / posts_controller.rb appena generata vedrai un controller senza azioni:

class PostsController < ApplicationController
    # empty
end

È possibile creare metodi predefiniti per il controller passando gli argomenti del nome del controller.

$ rails g controller ControllerName method1 method2

Per creare un controller all'interno di un modulo, specificare il nome del controller come percorso come parent_module/controller_name . Per esempio:

$ rails generate controller CreditCards open debit credit close
# OR
$ rails g controller CreditCards open debit credit close

Questo genererà i seguenti file:

Controller: app/controllers/credit_cards_controller.rb
Test:       test/controllers/credit_cards_controller_test.rb
Views:      app/views/credit_cards/debit.html.erb [...etc]
Helper:     app/helpers/credit_cards_helper.rb

Un controller è semplicemente una classe che è stata definita per ereditare da ApplicationController .

È all'interno di questa classe che definirai i metodi che diventeranno le azioni per questo controller.

Generare una risorsa con Scaffolds

Da guides.rubyonrails.org:

Invece di generare direttamente un modello. . . sistemiamo un'impalcatura. Uno scaffold in Rails è un set completo di modello, migrazione del database per quel modello, controller per manipolarlo, visualizzazioni per visualizzare e manipolare i dati e una suite di test per ciascuno dei precedenti.

Ecco un esempio di scaffolding di una risorsa chiamata Task con un nome di stringa e una descrizione di testo:

rails generate scaffold Task name:string description:text

Questo genererà i seguenti file:

Controller: app/controllers/tasks_controller.rb
Test:       test/models/task_test.rb
            test/controllers/tasks_controller_test.rb
Routes:     resources :tasks added in routes.rb
Views:      app/views/tasks
            app/views/tasks/index.html.erb
            app/views/tasks/edit.html.erb
            app/views/tasks/show.html.erb
            app/views/tasks/new.html.erb
            app/views/tasks/_form.html.erb
Helper:     app/helpers/tasks_helper.rb
JS:         app/assets/javascripts/tasks.coffee 
CSS:        app/assets/stylesheets/tasks.scss
            app/assets/stylesheets/scaffolds.scss

esempio per eliminare i file generati dallo scaffold per la risorsa chiamata Task

rails destroy scaffold Task

Crea una nuova app di Rails con un adattatore per database non standard

Rails viene fornito di default con ActiveRecord , un ORM (Object Relational Mapping) derivato dal pattern con lo stesso nome .

Come un ORM, è costruito per gestire il mapping relazionale e, più precisamente, gestendo le richieste SQL per voi, quindi la limitazione solo ai database SQL.

Tuttavia, puoi ancora creare un'app Rails con un altro sistema di gestione del database:

  1. crea semplicemente la tua app senza registrazione attiva
$ rails app new MyApp --skip-active-record
  1. aggiungi il tuo sistema di gestione del database in Gemfile
gem 'mongoid', '~> 5.0'
  1. bundle install e segui i passaggi di installazione dal database desiderato.

In questo esempio, mongoid è un object mapping per MongoDB e - come molte altre gemme di database create per rails - eredita anche da ActiveModel allo stesso modo di ActiveRecord , che fornisce un'interfaccia comune per molte funzionalità come convalide, callback, traduzioni, ecc. .

Altri adattatori di database includono, ma non sono limitati a:

  • DataMapper

  • sequel-rails

Creazione di API Rails in JSON

Questo esempio presume che tu abbia esperienza nella creazione di applicazioni Rails.

Per creare un'app per sole API in Rails 5, esegui

rails new name-of-app --api

Aggiungi active_model_serializers in Gemfile

gem 'active_model_serializers'

installare il pacchetto nel terminale

bundle install

Impostare la scheda ActiveModelSerializer da utilizzare :json_api

# config/initializers/active_model_serializer.rb
ActiveModelSerializers.config.adapter = :json_api
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest application/vnd.api+json )

Genera un nuovo scaffold per la tua risorsa

rails generate scaffold Task name:string description:text

Questo genererà i seguenti file:

Controller: app / controller / tasks_controller.rb

Test:       test/models/task_test.rb
            test/controllers/tasks_controller_test.rb
Routes:     resources :tasks added in routes.rb
Migration:  db/migrate/_create_tasks.rb
Model:      app/models/task.rb
Serializer: app/serializers/task_serializer.rb
Controller: app/controllers/tasks_controller.rb

Installazione di Rails

Installazione di Rails su Ubuntu

Su una ubuntu pulita, l'installazione di Rails dovrebbe essere diretta

Aggiornamento di pacchetti ubuntu

sudo apt-get update
sudo apt-get upgrade

Installa dipendenze Ruby e Rails

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Installare il gestore delle versioni di ruby. In questo caso, quello facile sta usando rbenv

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Installazione di Ruby Build

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

Riavvia Shell

exec $SHELL

Installa il rubino

rbenv install 2.3.1
rbenv global 2.3.1
rbenv rehash

Installazione delle guide

gem install rails

Installazione di Rails su Windows

Passaggio 1: installazione di Ruby

Abbiamo bisogno del linguaggio di programmazione Ruby installato. Possiamo usare una versione precompilata di Ruby chiamata RubyInstaller.

  • Scarica ed esegui Ruby Installer da rubyinstaller.org .
  • Esegui il programma di installazione. Seleziona "Aggiungi eseguibili Ruby al tuo PATH", quindi installa.
  • Per accedere a Ruby, vai al menu di Windows, fai clic su Tutti i programmi, scorri verso il basso fino a Ruby e fai clic su "Start Command Prompt with Ruby". Si aprirà un terminale del prompt dei comandi. Se digiti ruby -v e premi Invio, dovresti vedere il numero di versione di Ruby che hai installato.

Passaggio 2: Kit di sviluppo di rubino

Dopo aver installato Ruby, possiamo provare a installare Rails. Ma alcune delle librerie di Rails dipendono dalla necessità di alcuni strumenti di compilazione per poter essere compilate e Windows manca di tali strumenti per impostazione predefinita. È possibile identificarlo se si riscontra un errore durante il tentativo di installare Rails Gem::InstallError: The '[gem name]' native gem requires installed build tools. Per risolvere questo problema, è necessario installare il Kit di sviluppo di Ruby.

  • Scarica il DevKit
  • Esegui il programma di installazione.
  • Dobbiamo specificare una cartella in cui installeremo il DevKit in modo permanente. Consiglio di installarlo nella root del tuo disco rigido, in C:\RubyDevKit . (Non utilizzare spazi nel nome della directory.)

Ora dobbiamo rendere disponibili gli strumenti DevKit a Ruby.

  • Nel prompt dei comandi, passare alla directory DevKit. cd C:\RubyDevKit o qualsiasi altra directory in cui l'hai installato.
  • Abbiamo bisogno di eseguire uno script Ruby per inizializzare l'installazione di DevKit. Digitare ruby dk.rb init . Ora diremo quello stesso script per aggiungere il DevKit alla nostra installazione di Ruby. Digitare ruby dk.rb install .

DevKit ora dovrebbe essere disponibile per gli strumenti di Ruby da utilizzare quando si installano nuove librerie.

Passaggio 3: Rails

Ora possiamo installare Rails. Rails viene fornito come una gemma di Ruby. Nel tuo prompt dei comandi, digita:

gem install rails

Una volta premuto Invio, il programma gem scaricherà e installerà quella versione della gemma Rails, insieme a tutte le altre gemme di cui Rails dipende.

Passaggio 4: Node.js

Alcune librerie da cui dipende Rails richiedono l'installazione di un runtime JavaScript. Installiamo Node.js in modo che quelle librerie funzionino correttamente.

  • Scarica il programma di installazione di Node.js da qui .
  • Al termine del download, visitare la cartella dei download ed eseguire il node-v4.4.7.pkg installazione node-v4.4.7.pkg .
  • Leggere il contratto di licenza completo, accettare i termini e fare clic su Avanti attraverso il resto della procedura guidata, lasciando tutto come predefinito.
  • Potrebbe apparire una finestra che chiede se si desidera consentire all'applicazione di apportare modifiche al computer. Fai clic su "Sì".
  • Al termine dell'installazione, sarà necessario riavviare il computer in modo che Rails possa accedere a Node.js.

Una volta riavviato il computer, non dimenticare di andare al menu di Windows, fare clic su "Tutti i programmi", scorrere verso il basso fino a Ruby e fare clic su "Start Command Prompt with Ruby".



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow