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

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

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

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

Q&A

0回答

604閲覧

デフォルトで設定している画像がうまく表示されない。(CarrierWave使用)

takap14

総合スコア0

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

0グッド

0クリップ

投稿2020/12/11 18:23

ポートフォリオを作成しています。
そこで画像投稿機能を実装したのですが、デフォルトで設定している画像のみうまく表示されません。

gem 'carrierwave' gem 'mini_magick'

インストール済み。

CarrierWave gemに画像と関連付けたモデルを伝えるために

mount_uploader :picture, PictureUploader

を関連モデルに追記。

brew install imagemagick

ImageMagickをインストール済み。

app/uploaders/picture_uploader.rb

class PictureUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick storage :file # storage :fog def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end # 画像が未設定の時にデフォルトで設定する画像のURL def default_url(*args) "/images/" + [version_name, "default.png"].compact.join('_') end # 画像サイズ設定 # 詳細表示用:400 * 400の正方形に整形 version :thumb400 do process resize_and_pad(400, 400, background = :transparent, gravity = 'Center') end # 一覧表示用:200 * 200の正方形に中央から切り抜き version :thumb200 do process resize_to_fill: [200, 200, "Center"] end def extension_whitelist %w(jpg jpeg png) end end

関連部分のビューファイル

<%= link_to((image_tag @dish.picture.thumb400.url), dish_path(@dish.id), class: 'dish-picture') if @dish.picture.url.present? %>

Chromeの検証では

Routing Error No route matches [GET] "/images/thumb400_default.png"
http://localhost/images/thumb400_default.png 404 (Not Found)

と表示。

画像は public/images に保存。

開発環境はDockerを使って構築。

各サーバーはNginx,pumaを使用しています。

試したこととして、
assets/images に画像を移動して関連パスを変更 → 表示されず
ファイルの名前を確認しましたが合っていました。

いろんな方のやり方を試したつもりではあるのですが解決できませんでした。

お分かりの方がおりましたら、ご教授願います。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問