Spec-Zone.ru › Ruby on Rails 8.1

класс ActiveStorage::DiskController

Родительский класс:
ActiveStorage::BaseController

Предоставляет файлы, хранящиеся в дисковом хранилище, так же, как это делают облачные сервисы. Для этого используются подписанные URL-адреса с ограниченным сроком действия, предназначенные для немедленного доступа, а не для постоянного связывания. Всегда обращайтесь через BlobsController или собственный контроллер с аутентификацией, а не напрямую по URL-адресу сервиса.

Общедоступные методы экземпляра

show () Показать исходный код
# File activestorage/app/controllers/active_storage/disk_controller.rb, line 12
def show
  if key = decode_verified_key
    serve_file named_disk_service(key[:service_name]).path_for(key[:key]), content_type: key[:content_type], disposition: key[:disposition]
  else
    head :not_found
  end
rescue Errno::ENOENT
  head :not_found
end
update () Показать исходный код
# File activestorage/app/controllers/active_storage/disk_controller.rb, line 22
def update
  if token = decode_verified_token
    if acceptable_content?(token)
      named_disk_service(token[:service_name]).upload token[:key], request.body, checksum: token[:checksum]
      head :no_content
    else
      head ActionDispatch::Constants::UNPROCESSABLE_CONTENT
    end
  else
    head :not_found
  end
rescue ActiveStorage::IntegrityError
  head ActionDispatch::Constants::UNPROCESSABLE_CONTENT
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API