Rails 5.2: Przesyłanie załączników przy użyciu Active Storage
Zacznijmy implementację Active storage od podstaw w aplikacji rails.
1)Utwórz nową aplikację rails używając poniższej komendy
rails new tc-active-storage
Jeśli chcesz użyć konkretnej bazy danych dla aplikacji
rails new tc-active-storage -d=<database name>
2) Przejdź do folderu tc-active-storage
3) Uruchom komendę bundle
lub bundle install
4) Uruchom poniższe polecenie, aby wygenerować migrację i zainstalować aktywne przechowywanie w aplikacji
rails active_storage:install
5) Teraz w folderze aplikacji, widać plik migracji aktywnej pamięci masowej
Po zakończeniu wykonywania, tworzy dwie tabele, których Active Storage potrzebuje, aby spełnić swoje obietnice: active_storage_attachments i active_storage_blobs
6) Aby przechowywać załączniki musimy stworzyć Model i dodać relację Active Storage
has_one_attached:image
(If single image)
Or
has_many_attached:image
(If multiple images)
7) Wewnątrz Controller zezwala na image
params
Dla pojedynczego obrazu:
Dla wielu obrazów:
Ważne uwagi:
Model: Wywołaliśmy metodę has_one_attached lub has_many_attached w definicji modelu z symbolem, który stanie się wirtualnym atrybutem na każdej instancji naszego modelu.
Controller: Wylistowaliśmy na biało parametr image
Views: Dodaliśmy file_field do naszego formularza i wyświetliliśmy wgrany obrazek w image_tag.
Możesz podać tutaj dowolne warianty rozmiaru
image.variant(resize:"500x500", momochrome:true)
Jak skonfigurować z chmurą do wgrywania załączników
config/storage.yml