Rails 5.2: Caricare gli allegati usando Active Storage
Iniziamo ad implementare l’Active storage da zero nell’applicazione rails.
1)Crea una nuova applicazione rails usando il seguente comando
rails new tc-active-storage
Se vuoi usare un database specifico per l’applicazione
rails new tc-active-storage -d=<database name>
2) Vai alla cartella tc-active-storage
3) Esegui il comando bundle
o bundle install
4) Esegui il seguente comando per generare la migrazione e installare lo stoccaggio attivo nella tua App
rails active_storage:install
5) Ora nella cartella applicazione, si vede il file di migrazione dello stoccaggio attivo
Dopo l’esecuzione, crea due tabelle di cui Active Storage ha bisogno per mantenere le sue promesse: active_storage_attachments e active_storage_blobs
6) Per memorizzare l’allegato dobbiamo creare un modello e aggiungere la relazione Active Storage
has_one_attached:image
(Se immagine singola)
Oppure
has_many_attached:image
(Se immagini multiple)
7) All’interno del Controller permette image
params
per una singola immagine:
Note importanti:
Modello: Abbiamo chiamato il metodo has_one_attached o has_many_attached nella definizione del modello con un simbolo che diventerà un attributo virtuale su ogni istanza del nostro modello.
Controller: Abbiamo elencato in bianco il parametro image
Views: Abbiamo aggiunto un campo file_ al nostro modulo e visualizzato un’immagine caricata nell’etichetta image_tag.
Puoi dare qualsiasi variante di dimensione qui
image.variant(resize:"500x500", momochrome:true)
Come configurare con cloud per caricare allegati
config/storage.yml
Per locale
config/ambienti/sviluppo.rb
Per produzione
config/ambienti/produzione.rb
Congratulazioni, hai applicato con successo l’Active Storage alla tua applicazione Rails.
Contatta Ruby on Rails Development Company per sviluppare la tua applicazione mobile business o applicazione web con design elegante. Contattaci per assumere uno sviluppatore ROR dedicato oggi o raggiungici a [email protected] per qualsiasi assistenza riguardante il requisito di sviluppo larvale.