戻る

Rails6.0


動画学習サイトの構築 Rails6.0

  (0)
2,000円

タスク2-12   アマゾンS3

このタスクについて


タスクの内容を一部抜粋します。
プロジェクトを購入していただくとこのタスクの内容の全てを読みやすい表示で見ることができます。
プログラムコードが色分けされて見やすくなります。
プログラムコードに行番号が付きます。
本文が色分けされて見やすくなります。
そしてこのアプリケーションのフルコードをダウンロードすることが可能になります。




herokuにアプリケーションをデプロイすると画像をローカルに保存することができません。
それに対応するため、アップロードした画像を全てアマゾンS3に保存するよう設定します。


アマゾンS3のキーの取得方法は以下の手順でお願いします。
mrradiology.hatenablog.jp


GemFileに以下の記述を追加して下さい。


GemFile(67行目)
gem "aws-sdk"



GemFile
 
source 'https://rubygems.org' 
git_source(:github) { |repo| "https://github.com/#{repo}.git" } 
ruby '2.6.6' 
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 6.0.3', '>= 6.0.3.1' 
# Use postgresql as the database for Active Record 
gem 'pg', '>= 0.18', '< 2.0' 
# Use Puma as the app server 
gem 'puma', '~> 4.1' 
# Use SCSS for stylesheets 
gem 'sass-rails', '>= 6' 
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker 
gem 'webpacker', '~> 4.0' 
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 
gem 'turbolinks', '~> 5' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.7' 
# Use Redis adapter to run Action Cable in production 
# gem 'redis', '~> 4.0' 
# Use Active Model has_secure_password 
# gem 'bcrypt', '~> 3.1.7' 
# Use Active Storage variant 
# gem 'image_processing', '~> 1.2' 
# Reduces boot times through caching; required in config/boot.rb 
gem 'bootsnap', '>= 1.4.2', require: false 
group :development, :test do 
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 
end 
group :development do 
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code. 
  gem 'web-console', '>= 3.3.0' 
end 
group :test do 
  # Adds support for Capybara system testing and selenium driver 
  gem 'capybara', '>= 2.15' 
  gem 'selenium-webdriver' 
  # Easy installation and use of web drivers to run system tests with browsers 
  gem 'webdrivers' 
end 
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem 
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

# Bulma 
gem 'bulma-rails', '~> 0.7.4' 
gem 'bulma-extensions-rails', '~> 1.0.30' 

#デバイス 
gem 'devise' 

# 日本語化 
gem 'rails-i18n' 

# google認証 
gem 'omniauth' 
gem 'omniauth-google-oauth2' 

# アマゾンS3 
gem "aws-sdk" 



コマンド
bundle


「config\environments\development.rb」ファイルの記述を更新します。


記述更新 config\environments\development.rb
32行目の「config.active_storage.service = :local」の記述を「:amazon」に変更します。
   # config.active_storage.service = :local 
  config.active_storage.service = :amazon 



config\environments\development.rb
 
Rails.application.configure do 
  # Settings specified here will take precedence over those in config/application.rb. 
  # In the development environment your application's code is reloaded on 
  # every request. This slows down response time but is perfect for development 
  # since you don't have to restart the web server when you make code changes. 
  config.cache_classes = false 
  # Do not eager load code on boot. 
  config.eager_load = false 
  # Show full error reports. 
  config.consider_all_requests_local = true 
  # Enable/disable caching. By default caching is disabled. 
  # Run rails dev:cache to toggle caching. 
  if Rails.root.join('tmp', 'caching-dev.txt').exist? 
    config.action_controller.perform_caching = true 
    config.action_controller.enable_fragment_cache_logging = true 
    config.cache_store = :memory_store 
    config.public_file_server.headers = { 
      'Cache-Control' => "public, max-age=#{2.days.to_i}" 
    } 
  else 
    config.action_controller.perform_caching = false 
    config.cache_store = :null_store 
  end 
  # Store uploaded files on the local file system (see config/storage.yml for options). 
  # config.active_storage.service = :local 
  config.active_storage.service = :amazon 
  # Don't care if the mailer can't send. 
  config.action_mailer.raise_delivery_errors = true 
  config.action_mailer.perform_caching = false 
  # Print deprecation notices to the Rails logger. 
  config.active_support.deprecation = :log 
  # Raise an error on page load if there are pending migrations. 
  config.active_record.migration_error = :page_load 
  # Highlight code that triggered database queries in logs. 
  config.active_record.verbose_query_logs = true 
  # Debug mode disables concatenation and preprocessing of assets. 
  # This option may cause significant delays in view rendering with a large 
  # number of complex assets. 
  config.assets.debug = true 
  # Suppress logger output for asset requests. 
  config.assets.quiet = true 
  # Raises error for missing translations. 
  # config.action_view.raise_on_missing_translations = true 
  # Use an evented file watcher to asynchronously detect changes in source code, 
  # routes, locales, etc. This feature depends on the listen gem. 
  # config.file_watcher = ActiveSupport::EventedFileUpdateChecker 

  # デバイスのメール設定 
  config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 

  #Gメールの設定 
  config.action_mailer.delivery_method = :smtp 
  config.action_mailer.smtp_settings = { 
    address: "smtp.gmail.com", 
    port: 587, 
    enable_starttls_auto: true, 
    authentication: "plain", 
    user_name: 'win.rails.learn@gmail.com', 
    password: 'vuso' 
  } 
end 



「config\storage.yml」ファイルに以下の記述を追加します。


記述追加 config\storage.yml(9行目)
アクセスキー、シークレットキー、バケット名はご自分のものを入れて下さい。
 amazon: 
  service: S3 
  access_key_id: 'AKIAIU4' 
  secret_access_key: 'Apd6Vkyl' 
  region: "ap-northeast-1" 
  bucket: "winrailslearn" 



この続きはプロジェクトを購入していただくことで見ることができます。
プロジェクトを購入していただくとこのタスクの内容の全てを読みやすい表示で見ることができます。
プログラムコードが色分けされて見やすくなります。
プログラムコードに行番号が付きます。
本文が色分けされて見やすくなります。
そしてプロジェクトを購入するとこのアプリケーションのフルコードをダウンロードすることができます。

まだレビューはありません。

動画学習サイトの構築 Rails6.0

2,000円

Rails6.0で作成しています。
動画で学べるサイトを構築するプロジェクトです。
プロジェクトを登録し、そのプロジェクトに動画を登録できます。
プロジェクトはクレジットカードで購入でき、購入後すぐに動画を見ることができます。
写真の複数アップロード、レビュー機能の実装、Google認証、アマゾンS3の利用方法も解説。
管理ダッシュボードtrestleの実装、Gメールの設定、 HEROKUへのデプロイ方法を解説。
質問があればメッセージを送ることができ、リアルタイムで会話表示することができます。
フルコードのダウンロード可能。

タスク数: 128