質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

解決済

herokuでAmazonS3を用いた画像表示

mbaby__8
mbaby__8

総合スコア0

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

1回答

0評価

0クリップ

33閲覧

投稿2020/08/28 01:27

編集2022/01/12 10:58

やりたいこと

herokuでAmazonS3を使って画像表示すること。
(ActionTextのリッチテキスト機能で画像を挿入した際の画像)

やったこと

【Rails】Herokuで画像を投稿できるようにする方法(ActiveStorage + Amazon S3
Actiontext × S3 on Rails 6 (ブログ機能・画像アップロード)
Action Text での Amazon S3 アップロード

上記サイトを参考に

Active Storage の設定

# 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-west-2" bucket: "volvord"
# Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :amazon

S3用のGemをインストール

gem "aws-sdk-s3", require: false

Vimでの環境変数の設定
イメージ説明
S3 側の CORS の設定

<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>

Herokuの設定

Key Value
AWS_ACCESS_KEY_ID アクセスキー
AWS_SECRET_ACCESS_KEY シークレットキー
AWS_DEFAULT_REGION us-west-2

現在の状況

最初はエラーでサイトの表示自体されなかったのででそこは直せたのですが、
画像が表示されません。

どうやったらエラー、間違っているかわかるやり方、コマンドなどはありますでしょうか?
教えて頂けると幸いです。

イメージ説明

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

no1knows
no1knows

2020/08/29 00:52

「過去に投稿した質問と同じ内容の質問」は推奨されていない質問となります。同じ質問をするのはやめましょう https://teratail\.com/help/avoid-asking また理解力ができておらず恐縮なのですが、今現在、何ができていなくて、何ができているのでしょうか?
mbaby__8
mbaby__8

2020/08/29 01:30

一通りの設定はしたのですが、画像が表示されない状態です。 投稿はできるんですが画像だけ消えて文字だけ表視されています。
no1knows
no1knows

2020/08/29 02:34

S3にアップした画像データはあるのでしょうか? また開発環境ではきちんと動作していたのでしょうか?
mbaby__8
mbaby__8

2020/08/29 03:06

s3のコンソールの方は、このバケットは空です。の表示です。 開発環境はs3ではなくlocalのままなので動作しています。
no1knows
no1knows

2020/08/29 03:27

ということは、まずHerokuではなく、ローカル環境でS3にデータが保存できるように実装する。 という方向性で考えると良いと思います。S3のアップロードとHerokuは、関係ないですもんね。 また「投稿はできるんですが画像だけ消えて文字だけ表視されています。」とは、画像部分がまったくなにもない状態になっているのか、画像部分は他の文字列などによって置き換えられているかと、上記コメントに返信いただいたものも含めて質問文を大幅に編集するとAWSに詳しい方が答えてくれるかもしれません。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。