Attiviamo active_storage, che permette di salvare dei file nell'applicazione:
rails active_storage:install
Viene preparata una migrazione che possiamo applicare al database con:
rails db:migrate
Aggiungiamo un allegato "copertina" al model del libro:
Nel controller permettiamo il passaggio del parametro :cover
Aggiungiamo un campo di tipo file_field al form:
...e visualizziamo l'immagine nel partial _book, verificando con un if se essa è presente:
Dato che il partial _book viene usato sia da index che da show, assegnamo all'immagine la classe w-100 di Bootstrap che estenderà l'immagine all'intera larghezza del suo contenitore (ad esempio una colonna o una card nell'indice), limitandola però a un massimo di 300 pixel con l'attributo style, in modo che quando essa viene visualizzata nella vista show non si allarghi troppo.