戻る

Rails6.0


民泊サイトの構築 Rails6.0

  (0)
3,000円

タスク3-2   アマゾンS3

このタスクについて


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




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


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


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


記述追加 GemFile(63行目)
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' 

# アマゾン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: 'vusop' 
  } 
end 



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


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



config\storage.yml
 
test: 
  service: Disk 
  root: <%= Rails.root.join("tmp/storage") %> 
local: 
  service: Disk 
  root: <%= Rails.root.join("storage") %> 
amazon: 
  service: S3 
  access_key_id: 'AKIAI' 
  secret_access_key: 'Apd6VkylXVVg' 
  region: "ap-northeast-1" 
  bucket: "winrailslearn" 

# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) 
# amazon: 
#   service: S3 
#   access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %> 
#   secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %> 
#   region: us-east-1 
#   bucket: your_own_bucket 
# Remember not to checkin your GCS keyfile to a repository 
# google: 
#   service: GCS 
#   project: your_project 
#   credentials: <%= Rails.root.join("path/to/gcs.keyfile") %> 
#   bucket: your_own_bucket 
# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key) 
# microsoft: 
#   service: AzureStorage 
#   storage_account_name: your_account_name 
#   storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %> 
#   container: your_container_name 
# mirror: 
#   service: Mirror 
#   primary: local 
#   mirrors: [ amazon, google, microsoft ] 




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

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

民泊サイトの構築 Rails6.0

3,000円

Rails6.0で民泊サイトを構築します。
ホストは部屋を登録し、ゲストは宿泊予約できます。
ゲストはクレジットカードで支払いをし、ホストには料金の80%が自動で口座に振り込まれます。
Googleマップによる表示、AJAX検索、日付カレンダーによる予約ができます。
リアルタイムメッセージにより連絡がとれます。
予約確認メールの送信も可能。
写真のアップロード機能、アマゾンS3の利用方法も解説。
レビュー機能の実装方法解説。
フルカレンダー による予約管理。
HEROKUへのデプロイ方法を解説。
フルコードのダウンロード可能。

タスク数: 128