Cómo crear un proyecto con Ruby on Rails y PostgreSQL en Ubuntu 20.04

1 mar 2021 4 min di lettura
Cómo crear un proyecto con Ruby on Rails y PostgreSQL en Ubuntu 20.04
Indice dei contenuti

Introducción

Ruby on Rails (RoR) es un marco de aplicación web de código abierto, publicado bajo la licencia MIT. Es un marco de aplicación web del lado del servidor que sigue el concepto Modelo-Vista-Controlador (MVC).

Rails proporciona estructuras predefinidas para la base de datos, el servicio web y las páginas web. Más de 3000 desarrolladores han contribuido con código al marco de Rails y hay muchas aplicaciones conocidas basadas en Rails, como Github, Airbnb, Soundcloud, etc.

En este tutorial, le mostraremos cómo crear un proyecto con Ruby on Rails en Ubuntu 20.04 LTS Focal Fossa.

Prerrequisitos

Para esta guía, necesitará:

Si desea crear un proyecto con Ruby on Rails en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Instalar y configurar PostgreSQL

Para este tutorial, usaremos PostgreSQL como base de datos para nuestro proyecto Rails. Y en este paso, instalaremos el servidor de base de datos PostgreSQL proporcionado por el repositorio oficial de ubuntu.

Instale el servidor de base de datos PostgreSQL en Ubuntu 20.04 usando el comando apt a continuación.

sudo apt install postgresql postgresql-contrib libpq-dev -y

Una vez que se complete la instalación, inicie el servicio PostgreSQL y agréguelo al inicio del sistema.

systemctl start postgresql
systemctl enable postgresql

El servicio PostgreSQL está en funcionamiento.

Luego, inicie sesión en el shell de PostgreSQL y cree un nuevo rol "nov_role" con la contraseña "nov_pass" y los privilegios "createdb" e "login".

sudo -i -u postgres psql
create role nov_role with createdb login password 'nov_pass';

Ahora enumere todos los usuarios disponibles en PostgreSQL utilizando la siguiente consulta.

\du

Y obtendrá el rol "nov_role" en la lista de usuarios de PostgreSQL:

 List of roles
 Role name | Attributes | Member of
 -----------+------------------------------------------------------------+-----------
 nov_role | Create DB | {}
 postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

Salga del shell de PostgreSQL:

\q

Para obtener más información sobre PostgreSQL, lea: Cómo instalar PostgreSQL en Ubuntu 20.04 LTS.

Crea un proyecto con Ruby on Rails

De forma predeterminada, Ruby on Rails usa SQLite como base de datos predeterminada. Y para esta guía, vamos a iniciar un nuevo proyecto de Rails utilizando la base de datos PostgreSQL.

Cree un nuevo proyecto 'nov_app' con la base de datos PostgreSQL predeterminada usando el siguiente comando 'rails'.

rails new nov_app -d postgresql

Ahora obtendrá el directorio del proyecto 'nov_app', vaya al directorio del proyecto con el comando cd y cambie la configuración de la base de datos 'config /database.yml' usando el editor nano.

cd nov_app/
nano config/database.yml

En la development, agregue la configuración de la base de datos como se muestra a continuación.

 host: localhost
 port: 5432
 username: nov_role
 password: nov_pass

Vaya a la testing y agregue la configuración de la base de datos PostgreSQL como se muestra a continuación.

 host: localhost
 port: 5432
 username: nov_role
 password: nov_pass

Cuando termine, guarde y cierre el archivo presionando CTRL+X luego Y y ENTER para confirmar los cambios.

Luego, ejecute los comandos de rails a continuación para generar y migrar la base de datos para nuestro proyecto Rails y asegúrese de que no haya errores.

rails db:setup
rails db:migrate

Una vez completada la instalación, inicie el servidor web predeterminado de puma rails con el siguiente comando.

La aplicación se ejecutará en su dirección IP pública con el puerto 8080:

=> Booting Puma
 => Rails 6.0.3.1 application starting in development
 => Run `rails server --help` for more startup options
 Puma starting in single mode...
 * Version 4.3.5 (ruby 2.7.1-p83), codename: Mysterious Traveller
 * Min threads: 5, max threads: 5
 * Environment: development
 * Listening on tcp://0.0.0.0:8081

Ahora abra su navegador web y escriba la dirección IP de su servidor con el puerto 8080 en la barra de direcciones: http://TUO_INDIRIZZO_IP:8080/

Obtendrá la página index.html predeterminada de Ruby on Rails.

Cree un CRUD simple con Rails Scaffold

En este paso, crearemos una nueva aplicación CRUD simple usando la base de datos Ruby on Rails y PostgreSQL.

Genere una aplicación CRUD simple usando el comando ruby ​​scaffold como se muestra a continuación:

rails g scaffold Post title:string body:text

Debería ver un resultado similar al siguiente:

Running via Spring preloader in process 1578
 invoke active_record
 create db/migrate/20200527145454_create_posts.rb
 create app/models/post.rb
 invoke test_unit
 create test/models/post_test.rb
 create test/fixtures/posts.yml
 invoke resource_route
 route resources:posts
 invoke scaffold_controller
 create app/controllers/posts_controller.rb
 invoke erb
 create app/views/posts
 create app/views/posts/index.html.erb
 create app/views/posts/edit.html.erb
 create app/views/posts/show.html.erb
 create app/views/posts/new.html.erb
 create app/views/posts/_form.html.erb
 invoke test_unit
 create test/controllers/posts_controller_test.rb
 create test/system/posts_test.rb
 invoke helper
 create app/helpers/posts_helper.rb
 invoke test_unit
 invoke jbuilder
 create app/views/posts/index.json.jbuilder
 create app/views/posts/show.json.jbuilder
 create app/views/posts/_post.json.jbuilder
 invoke assets
 invoke scss
 create app/assets/stylesheets/posts.scss
 invoke scss
 create app/assets/stylesheets/scaffolds.scss

A continuación, migre la base de datos con el siguiente comando.

rake db:migrate
== 20200527145454 CreatePosts: migrating ======================================
 -- create_table(:posts)
 -> 0.0117s
 == 20200527145454 CreatePosts: migrated (0.0120s) =============================

Asegúrese de que no haya errores y vuelva a ejecutar el servidor Puma.

rails s -b 0.0.0.0 -p 8080

Regrese a su navegador web y escriba la dirección IP del servidor con el puerto 8080 agregando la ruta '/posts': http://TUO_INDIRIZZO_IP:8080/posts

Ahora puede crear, editar y eliminar publicaciones con la sencilla aplicación CRUD y la base de datos PostgreSQL utilizando Rails Scaffold.

Conclusión

En este tutorial hemos visto cómo crear una aplicación usando Ruby on Rails y PostgreSQL en Ubuntu 20.04 LTS Focal Fossa.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.