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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

Amazon S3

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

3489閲覧

resource: the server responded with a status of 404 ()のエラーについて

amby

総合スコア40

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

Amazon S3

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2020/11/09 13:35

内容

AWSでデプロイを試みています。S3を使用して画像投稿ができるサイトを作っていますが、投稿された画像が下記のように表示されません。グーグルの開発者ツールのコンソールをみると「Failed to load resource: the server responded with a status of 404 ()」という表記になっています。
S3自体に画像はアップロードされており、読み込めていないだけだと思うのですが、どこを修正すべきかわからず、ご教示いただきたいです。
イメージ説明

resource: the server responded with a status of 404 ()の画像URLをクリックした時

イメージ説明

microposts.rb

class Micropost < ApplicationRecord belongs_to :user validates :content, presence: true, length: { maximum: 1000 } has_many :likes, dependent: :destroy has_many :liked, through: :likes, source: :user has_many :joins, dependent: :destroy has_many :joined, through: :joins, source: :user has_many :comments, dependent: :destroy THUMBNAIL_SIZE = [300, 300] mount_uploader :image, ImageUploader geocoded_by :place after_validation :geocode end

image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick require 'mini_magick' # Include RMagick or MiniMagick support: # include CarrierWave::RMagick if Rails.env.production? include Cloudinary::CarrierWave else storage :fog end # Choose what kind of storage to use for this uploader: # storage :file storage :fog # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end # def default_url(*args) # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) # Provide a default URL as a default if there hasn't been a file uploaded: # def default_url(*args) # # For Rails 3.1+ asset pipeline compatibility: # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) # # "/images/fallback/" + [version_name, "default.png"].compact.join('_') # end # Process files as they are uploaded: # process scale: [200, 300] # # def scale(width, height) # # do something # end # Create different versions of your uploaded files: # version :thumb do # process resize_to_fit: [50, 50] # end # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: def extension_whitelist %w(jpg jpeg gif png) end # Override the filename of the uploaded files: # Avoid using model.id or version_name here, see uploader/store.rb for details. # def filename # "something.jpg" if original_filename # end process resize_to_fill: [300, 300, "Center"] end

_micropost.html.erbで画像表示している部分

<% if micropost.image? %> <%= image_tag micropost.image.to_s, class:"micropost_image" %> <% else %> <%= image_tag 'no_image.png', class:"micropost_image" %> <% end %>

config/initializers/carrierwave.rb(keyは若干変えています)

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_credentials = { provider: 'AWS', aws_access_key_id: 'AKIAQFS7xxxZ6FWVOKW6', aws_secret_access_key: "/+0I953xxxxVNJtM/3s3gYlWUPd+rB8xxxkvN8ig", region: 'ap-northeast-1' } config.fog_directory = 'bucketrugby' config.asset_host = 'http://bucketrugby.s3-ap-northeast-1.amazonaws.com' end

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

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

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

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

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

guest

回答1

0

ベストアンサー

image_tag micropost.image.to_s,image_tag micropost.image, で試してください

投稿2020/11/09 13:56

winterboum

総合スコア23347

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

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

amby

2020/11/09 22:51

ご回答誠にありがとうございます。 実は一番最初はmicropost.imageの記述にしていたのですが、画像が表示されませんでした。そこでto_sをつけてみたのですが、修正されませんでした。。。
amby

2020/11/10 12:49

すみません、ご指摘いただいていた通り、「image」の記述に変更したらエラー内容が変わりました。一番最初はimage.urlと記述してしまっていました。 下記のエラーに変わったのですが、これはアセットパイプラインがうまくいっていないのでしょうか?「config.assets.compile = true」は記述しております。 I, [2020-11-10T12:40:26.281189 #3649] INFO -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] Completed 500 Internal Server Error in 72ms (ActiveRecord: 8.7ms) F, [2020-11-10T12:40:26.281931 #3649] FATAL -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] F, [2020-11-10T12:40:26.281963 #3649] FATAL -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] ActionView::Template::Error (The asset "niiaknync2eme6z6ulxz" is not present in the asset pipeline.): F, [2020-11-10T12:40:26.282074 #3649] FATAL -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] 3: <div class="posts"> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 4: <div class="card_left"> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 5: <% if micropost.image? %> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 6: <%= image_tag micropost.image, class:"micropost_image" %> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 7: <% else %> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 8: <%= image_tag 'no_image.png', class:"micropost_image" %> [65ec6071-de3b-47b4-8ae7-226a90369c8c] 9: <% end %> F, [2020-11-10T12:40:26.282114 #3649] FATAL -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] F, [2020-11-10T12:40:26.282136 #3649] FATAL -- : [65ec6071-de3b-47b4-8ae7-226a90369c8c] app/views/microposts/_microposts.html.erb:6:in `_app_views_microposts__microposts_html_erb___1171920285675024175_67840' [65ec6071-de3b-47b4-8ae7-226a90369c8c] app/views/microposts/index.html.erb:5:in `block in _app_views_microposts_index_html_erb__1522874077581566408_67700' [65ec6071-de3b-47b4-8ae7-226a90369c8c] app/views/microposts/index.html.erb:4:in `_app_views_microposts_index_html_erb__1522874077581566408_67700'
amby

2020/11/10 13:33

本件は解消いたしましたので解決済みとさせていただき、引き続きのエラーは別の質問とさせていただきました。 ご回答いただき本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問