Continuando {1}, presentamos como emplear en una aplicación Ruby on Rails 4.0 sobre adJ 5.4:

  • Bootstrap de Twitter como ambiente CSS
  • Devise para autenticar (verificar que un usuario es quien dice ser)
  • !CanCan para autorizar (dar acceso a un usuario a lo que corresponde según su rol)

1. Ambiente CSS

El procedimiento para emplear una gema que brinde cierta funcionalidad a una aplicación típicamente es: * Instalar y configurarla ** Instalar la gema con gem install para que todos los generados estén disponibles ** Agregar la gema al archivo Gemfile de la aplicación ** Ejecutar bundle update para actualizar paquetes e instalar nueva gema.
* Generar archivos ** Iniciales ** Uno por cada modelo, controlador o vista dependiendo de la gema. * Modificar archivos generados

En el caso de Bootstrap de Twitter como se explica en {2}, puede usarse con less para generar CSS bastante dinámicos (que requiere rubyracer que es problemático) o puede usarse con CSS estáticos pero compilados con SASS que es la configuración sugerida a continuación

1.1 Instalación y configuración

  • Ejecutar
sudo gem install twitter-bootstrap-rails
sudo gem install bootstrap-sass
  • Incluir en aplicacion/Gemfile
gem "twitter-bootstrap-rails"
gem "bootstrap-sass"
  • Actualizar
sudo bundle20 update

1.2 Generación de archivos

  • Generar archivos estáticos CSS que usan por defecto los íconos de Font Awesome (ver {3}):
rails generate bootstrap:install static
  • Generar una plantilla base (layout) para su sitio, la plantilla por defecto se llamará application queda en app/views/layouts/application.html.erb y será adaptativa (a computadores o smarphones o tabletas) en contraste con fija (sería con fixed en lugar de fluid):
rails g bootstrap:layout application fluid
  • Generar recurso Pais, generando modelo (con una migración) y vistas que usan Bootstrap –tenga en cuenta que para este ejemplo se requiere corregir la inflección plural como se explica en la sección 4.3 de {1}):
rails g scaffold Pais nombre:string{500} latitud:float longitud:float
rake db:migrate
rails g bootstrap:themed Paises

1.3 Modificar archivos generados

!1.3.1 Localización

Las vistas generadas con el procedimiento descrito, en Rails 4.0.0 no están localizadas por lo que se recomienda seguir 4.3 de {1} y además:

  1. Permitir jerarquía de directorios para localización en config/locales (como se recomienda en {4}, agregando a config/application.rb:
config.i18n.load_path += Dir![Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
  1. Editar las vistas y modificar las cadenas por localizar para convertirlas en variables como argumentos de la función I18n.t (o más breve t). Por ejemplo la vista app/views/paises/index.html.erb incluye:

Listing paises

...