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

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

新規登録して質問してみよう
ただいま回答率
85.35%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1104閲覧

本番環境で画像が表示されない

ryouya

総合スコア14

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/06/07 06:26

編集2020/06/07 06:28

お世話になっております。
下記の問題について知見がある方いらっしゃいましたら、ご教示お願いします。

#起こっている問題
AWS環境でnginxrailsdockerコンテナで構築し、
railsでアプリを本番環境で起動させているのですが画像が表示されません。

carrierwaveで実装し、AWSS3にアップロードしています。

####投稿機能にて画像をアップロード、投稿一覧画面で画像が表示されません
イメージ説明
イメージ説明
AWSS3には画像がアップロードされていました。

#関連ファイル
image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base storage :fog def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end end

carrierwave.rb

require 'carrierwave/storage/abstract' require 'carrierwave/storage/file' require 'carrierwave/storage/fog' CarrierWave.configure do |config| config.storage :fog config.fog_provider = 'fog/aws' config.fog_directory = 'coffeeapp3948' # 作成したバケット名を記述 config.fog_credentials = { provider: 'AWS', aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], # 環境変数 aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], # 環境変数 region: 'ap-northeast-1', # アジアパシフィック(東京)を選択した場合 path_style: true } end

new.html.erb(投稿画面)

<div class="title"><p>投稿画面</p></div> <%= form_for @post do |form| %> <%= render 'shared/error_messages', object: form.object %> <%= form.label :"カフェ" %> <%= form.text_field :store_name, id: :store_name ,class: "form-control",placeholder: "カフェの名前をご入力ください"%> <%= form.label :"住所" %><%= form.select :address_prefectures, Post.address_prefectures.keys, {prompt: '都道府県を選択してください'}, class: 'form-control btn' %> <%= form.text_field :address, id: :address ,class: "form-control",placeholder: "住所をご入力ください"%> <%= form.label :"カフェの画像" %><%= form.file_field :image %> <div class="store_time"> <%= form.label :"営業時間"%> <%= form.time_field :time_start ,class: "form-control"%> <%= form.label :"〜" %> <%= form.time_field :time_end ,class: "form-control"%> </div> <%= form.label :"環境" %> <div class="environment center" data-toggle="tooltip" title="Wi-Fi,充電,喫煙,クレジットカードの利用状況をご入力ください"> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default" > <%= form.check_box :wifi, {} , true, false %><%= image_tag 'wifi.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :plug , {} , true, false %><%= image_tag 'plug.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :tabacco , {} , true, false %><%= image_tag 'tabacco.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :card , {} , true, false %><%= image_tag 'card.png' , :size => '50x40'%> </label> </div> </div> <%= form.label :"評価" %> <div class="evaluation center" data-toggle="tooltip" title="評価を5段階でご入力ください"> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :evaluation1, {} , '1', nil %><%= image_tag 'star.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :evaluation2, {} , '1', nil %><%= image_tag 'star.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :evaluation3, {} , '1', nil %><%= image_tag 'star.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :evaluation4, {} , '1', nil %><%= image_tag 'star.png' , :size => '50x40'%> </label> </div> <div class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <%= form.check_box :evaluation5, {} , '1', nil %><%= image_tag 'star.png' , :size => '50x40'%> </label> </div> </div> <%= form.submit "投稿" %> </div> <% end %>

show.html.erb

<div class="title"><p>投稿詳細画面</p></div> <div class="Allpost"> <div class="showAllpost_detail"> <div class="Post_image"> <%= image_tag @post.image, :size =>'350x250'%> <% if logged_in? && @post.user != current_user%> <div class="like_button"> <%= render 'likes/like' , post: @post%> </div> <%end%> <span class="showpost_user"> <p>投稿したユーザー</p> <div class="user_detail"> <a href="/users/<%= @post.user.id %>"> <%= image_tag @post.user.image, :size => '50x50'%> <%= @post.user.name %> </a> </div> </span> </div> <div class="Post_content"> <table class="table"> <tr> <th>カフェの名前</th> <td> <%= @post.store_name %> </td> </tr> <tr> <th>住所</th> <td> <%= @post.address %> </td> </tr> <tr> <th>営業時間</th> <td> <%= @post.time_start %> 〜 <%= @post.time_end %> </td> </tr> <tr> <th>環境</th> <td> <% if @post.wifi.present? %> <%= image_tag 'wifi.png' , :size => '50x40'%> <%end%> <% if @post.plug.present? %> <%= image_tag 'plug.png' , :size => '50x40'%> <%end%> <% if @post.tabacco.present? %> <%= image_tag 'tabacco.png' , :size => '50x40'%> <%end%> <% if @post.card.present? %> <%= image_tag 'card.png' , :size => '50x40'%> <%end%> </td> </tr> <tr> <th>評価</th> <td> <% if @post.evaluation1.present? %> <%= image_tag 'star.png' , :size => '50x40'%> <%end%> <% if @post.evaluation2.present? %> <%= image_tag 'star.png' , :size => '50x40'%> <%end%> <% if @post.evaluation3.present? %> <%= image_tag 'star.png' , :size => '50x40'%> <%end%> <% if @post.evaluation4.present? %> <%= image_tag 'star.png' , :size => '50x40'%> <%end%> <% if @post.evaluation5.present? %> <%= image_tag 'star.png' , :size => '50x40'%> <%end%> </td> </tr> <tr> <th>いいね数</th> <td> <%= @post.likes.count %></td> </tr> <tr> <th>いいねしたユーザー</th> <td> <% @post.liked_users.each do |user| %> <li class = "good_users"><%= user.name %></li> <% end %> </td> </tr> </table> </div> </div> <div id="map" style="width: 800px; height: 400px;"></div> <script> handler = Gmaps.build('Google'); handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ markers = handler.addMarkers(<%= raw @hash.to_json %>); handler.bounds.extendWith(markers); handler.fitMapToBounds(); handler.getMap().setZoom(16); }); </script> </div>

#環境
ruby 2.5.1
rails 5.1.6
docker version 19.03.6
docker-compose version 1.24.0

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決しました。
投稿機能の確認画面で画像がうまく保存できていませんでした。

<%= f.hidden_field :image %> ↓ <%= f.hidden_field :image_cache %>

上記のようにコードを変更したところ解決しました。
確認してくださった方々、ありがとうございましたm(_ _)m

投稿2020/06/14 12:13

ryouya

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問