Rails 5.2: Subir archivos adjuntos usando Active Storage

Comencemos a implementar el Active storage desde cero en la aplicación rails.

1)Crear una nueva aplicación rails utilizando el siguiente comando

rails new tc-active-storage

Si se quiere utilizar una base de datos específica para la aplicación

rails new tc-active-storage -d=<database name>

2) Ir a la carpeta tc-active-storage

3) Ejecutar el comando bundleo bundle install

4) Ejecute el siguiente comando para generar la migración e instalar el almacenamiento activo en su App

rails active_storage:install

Un comando para instalar el almacenamiento activo

5) Ahora en la carpeta de la aplicación, se ve el archivo de migración de almacenamiento activo

Migración archivo

Fichero de migración y sus campos

Tras la ejecución, crea dos tablas que Active Storage necesita para cumplir sus promesas: active_storage_attachments y active_storage_blobs

6) Para almacenar el archivo adjunto necesitamos crear un Modelo y añadir la relación de Almacenamiento Activo

has_one_attached:image (Si es una sola imagen)

O

has_many_attached:image (Si son varias imágenes)

7) Dentro del Controlador permite imageparams

Para una sola imagen:

Sólo hay que pasar como un solo elemento

Para múltiples imágenes:

Permitir como array

múltiple: true es la propiedad HTML para la entrada de archivos

Notas importantes:

Modelo: Llamamos al método has_one_attached o has_many_attached en la definición del modelo con un símbolo que se convertirá en un atributo virtual en cada instancia de nuestro modelo.

Controlador: Enumeramos en blanco el parámetro image

Views: Añadimos un campo_archivo a nuestro formulario y mostramos una imagen subida en la etiqueta_imagen.

Aquí puedes dar cualquier variante de tamaño

image.variant(resize:"500x500", momochrome:true)

Cómo configurar con la nube para subir archivos adjuntos

config/storage.yml

Archivo de almacenamiento para configurar distintos cloud

Para local

config/environments/development.rb

Para producción

config/environments/production.rb

Configuración de almacenamiento activo en la nube

Felicidades, ha aplicado con éxito el almacenamiento activo a su aplicación Rails.

Contacte con la empresa de desarrollo de Ruby on Rails para desarrollar su aplicación móvil o aplicación web con un diseño elegante. Póngase en contacto con nosotros para contratar desarrollador ROR dedicado hoy o llegar a nosotros en [email protected] para cualquier asistencia con respecto a la necesidad de desarrollo larval.