LoginSignup
68
60

More than 3 years have passed since last update.

【Rails】画像の表示方法

Last updated at Posted at 2019-10-01

画像の表示方法でウンウン詰まったのでメモに残しておきます。

方法

2種類あり、それぞれ特徴やパスの書き方が違うみたいです。

1、assets配下に置く場合

格納先:/app/assets/images/

今回はこちらを使用することにしました。
/app/assets/内のファイルはアセットパイプラインの対象となる→結果ページ読み込み速度が早くなる。

※アセットパイプライン
ファイルを最小化(圧縮)して読み込みを早くしてくれるフレームワーク。(初期装備のよう)
アセットを連結することによって、ページリクエスト数を減らすことができる=更にページ速度向上につながるという仕組み。
画像であればブラウザのキャッシュを残すようにしてくれるため、画像の読み込みが早くなる。
ただし、キャッシュを飛ばさないと画像が正しく表示されない、など起きる。
リファレンスの内容が思ったよりあったので、これは今後詳しく学ぶことにします。

書き方

htmlで書く場合
<img src="/assets/img_logo_pc.png" alt="">

「imagesいらないのかーい!」という不意打ちでした。

ヘルパーの場合
<%= image_tag 'img_logo.png' %>

ディレクトリ分けしたくなる気持ちがありましたが、そちらはいったん寝かしておきます。

2、public配下に置く場合

格納先:/public/
ユーザーがアップロードする、などの場合はこちらがいいようです。
こちらは後ほど使用する際にまた追記します。

判断基準

assets=「システム側に依存する画像関係」の場合に使用
public=「ユーザーがアップロードするような画像関係」の場合に使用

とあった。

ざっと調べただけでは明確にわからなかったので、
現状まずは進めつつ今後深く考えていくことにします。

参考サイト

アセットパイプライン - Rails ガイド
Railsの画像のパス – assets配下とpublic配下 – | Boys Be Engineer 非エンジニアよ、エンジニアになれ
image_tagメソッドを使ったイメージタグの作成 - Ruby on Rails入門

68
60
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
60