En esta guía te explicamos los pasos necesarios para empezar a crear una aplicación Rails 5.1 y alojarla en uno de nuestros planes de hosting.
Ten en cuenta que debes acceder mediante SSH a tu cuenta de hosting y ejecutar algunos comandos.
1.- Crea aplicación Ruby desde el panel de hosting
Accede al panel de Hosting y luego pincha sobre el icono Aplicaciones Ruby. Una vez allí rellena y envía el formulario, tal y como se ve en la siguiente imagen:
En este caso, poniendo miapp como nombre de la aplicación, la ruta completa de la aplicación será /home/usuario/ruby/miapp, donde usuario es el nombre de usuario de tu hosting.
2.- Instala Rails y Bundler
Ahora necesitamos acceder via SSH para empezar a instalar nuestra aplicación Rubi 5.1
Para instalar la versión 5.1 de Rails ejecutamos:
gem install rails -v5.1
En principio, al instalar Rails 5.1 también se habrá instalado la última versión compatible de Bundler. Si por algún motivo no se ha instalado, lo puedes instalar ejecutando:
Y luego instalamos Bundler:
gem install bundler
3.- Crea la aplicación Rails en tu hosting
Al configurar la nueva aplicación desde el panel de hosting, te habremos indicado cual es el directorio donde debes ubicar los archivos de la misma. En este caso, el directorio de la aplicación se debe llamar miapp.
vamos a acceder al directorio "ruby", borrar el directorio "miapp" y crear una nueva instalación de rails con el nombre "miapp" y así volver a crear el directorio.
cd ruby
rm -fr miapp
rails new miapp
Y seguido entramos al directorio de nuestra aplicación:
cd miapp
4.- Edita el archivo Gemfile
Ahora procederemos a realizar las modificaciones en el fichero Gemfile según las necesidades de nuestro proyecto.
Para hacer esto puedes usar el editor nano:
nano Gemfile
Para grabar el archivo Gemfile presionas CTRL O, y este se grabara, luego para salir del editor presionas CTRL X
Ahora puedes elegir entre hacer uso de la gema The Ruby Racer o bien execjs. Recomendamos la segunda de las opciones.
The Ruby Racer (Opcional)
Es preferible utilizar EXECJS si nuestra aplicacion lo permite.
En este archivo descomentamos la linea que dice:
#gem 'therubyracer', platforms: :ruby
Donde quitaremos el simbolo #, dejandolo así:
gem 'therubyracer', platforms: :ruby
NodeJs - execjs (Recomendado)
nano ~/ruby/gems/gems/execjs-2.7.0/lib/execjs/runtimes.rb
Node = ExternalRuntime.new(
name: "Node.js (V8)",
# command: ["nodejs", "node"],
command: "/opt/nodejs-8/bin/node",
runner_path: ExecJS.root + "/support/node_runner.js",
encoding: 'UTF-8'
)
Como usar nodejs en tu aplicación Ruby a través de la gema execjs
5.- Instala dependencias con Bundler
Ahora tendrás que instalar las gemas necesarias para tu aplicación, para ello ejecuta:
bundle install
6.- Define el secret_key_base
Lo primero es obtener una cadena suficientemente larga y aleatoria, para ello ejecutamos:
rake secret
Se nos mostrará la cadena que usaremos como secret_key_base de la aplicación. Ahora abrimos el archivo config/secrets.yml:
nano config/secrets.yml
Y pegamos nuestra cadena en la sección production del archivo.
7.- Reinicia la aplicación
Simplemente ejecuta:
touch tmp/restart.txt
Opcionalmente, puedes reiniciar la aplicación desde el panel de hosting de guebs.
8.- Verifica el estado de la instalación
Para verificar el estado de la instalación nos vamos a nuestra pagina web, donde deberá mostrarnos una pantalla como la que se muestra a continuación:
9.- Genera el controlador de Bienvenida
Simplemente ejecuta:
rails generate controller welcome index
10.- Personalizar el mensaje de bienvenida
Abrimos el archivo de vista app/views/welcome/index.html.erb generado en el paso anterior:
nano app/views/welcome/index.html.erb
Borramos todo el contenido del archivo y colocamos solamente:
<h1>Hola, Rails!</h1>
En el editor nano, para grabar el archivo Gemfile presionas CTRL O, y este se grabara, luego para salir del editor presionas CTRL X
11.- Configura ruta para bienvenida
Vamos a hacer que Rails muestre en la raíz de la web, es decir, en "/", el controlador y vista generados en los pasos previos.
Para ello abrimos el archivo config/routes.rb :
nano config/routes.rb
Y añadimos la siguiente línea antes del operador end
root 'welcome#index'
El archivo podría quedar así:
Rails.application.routes.draw do
get 'welcome/index'
root 'welcome#index'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
En el editor Nano, para grabar el archivo Gemfile presionas CTRL O, y este se grabara, luego para salir del editor presionas CTRL X
12.- Precompilar assets
Ejecutamos la precompilacion de los recursos como CSS:
RAILS_ENV=production bundle exec rake assets:precompile
13.- Reinicia la aplicación
Simplemente ejecuta:
touch tmp/restart.txt
Opcionalmente, puedes reiniciar la aplicación desde el panel de hosting de guebs.
14.- Accede a la web
Finalmente, después de haber modificado el contenido del controlador de Bienvenida, verificamos en nuestra pagina Web