1. ActiveStorage Nedir?
Rails 5.2 ile gelen ActiveStorage özelliği, dosyaları Amazon S3, Google Cloud, Microsoft Azure Cloud gibi cloud bir servise upload etmemizi sağlar.
2. Kurulum
rails active_storage:install
Bu çalıştırılan kod active_storage_blobs
ve active_storage_attachments
tablolarını oluşturan bir migration dosyası ve servis konfigürasyonları için config altında storage.yml dosyası oluşturur.
3. ActiveStorage’ın Temel Sınıfları
- ActiveStorage::Service
- ActiveStorage::Blob
- ActiveStorage::Attachment
3.1 ActiveStorage::Service
Service sadece baytların hareketinden sorumlu kısımdır. Dosyanın baytlarını bellekten ve browserdan alıp disk’e taşır.
class ActiveStorage::Service def upload(key, io, checksum: nil) read more
default_scope
belirli bir model üzerinde yapılacak tüm işlemler için varsayılan bir kapsam belirtmemizi sağlayan ActiveRecord metodudur.
Bu scope’u(kapsamı) modelimizde soft-deletion işlemi yapmak için kullanabiliriz. Soft-delete işlemi için paranioa kullanmanızı ayrıca öneririm. Acts_as_paranoid ile veri silmekten korkmayın başlıklı blog girdimde bundan bahsetmiştim.
Aşağıdaki gibi deleted_on
kolonunu kullanarak default bir scope oluşturalım.
class Animal < ActiveRecord::Base # Eğer bir veri silindiyse `deleted_on` alanı dolu olacak. default_scope where(deleted_on: nil)end
Animal modelinde tanımladığımız default_scope
ile silinen kayıtları saklamış ve sadece silinmemiş olan... read more
Dâr-ı fenanın sanına felek bir kez olsun düşmeye
Ahîz eylenen dil-i viran niyet etmez sönmeye
Vakti gelmez beklenenin hesabını dürmeye
Yanmaya pervane bir sözümüz mü olmasın?
Dermanı yaş imiş gönle haşr olan
Olmaya cihanda bir kâmı nâr olan
Bir seni içre öte bir beri yoktan da var olan
Yanmaya pervane bir gönlümüz mü olmasın?