初めに
なぜこの記事を書きたかったのか or この記事の対象者
環境
・Macbook Air (Retina, 13-inch,2019)
・プロセッサ 1.6GHz デュアルコアIntel Core i5
・メモリ 8GB 2133 Mhz LPDDR3
・MacOS Big Sur バージョン 11.5.2
記事の目次
1)どういうときに使える?
**2) 前提(画像を保存する仕組みを作る&保存する画像にアソシエーションを組む)
3)DBの限り画像を投稿
4)最後に
どういうときに使える?
ユーザが投稿した画像をまとめて見やすくするために一つのウィンドウにまとめれる。
例えば)LINEで画像を投稿したあと、写真・動画ボタンをクリックすると日付ごとにまとめて見返すことができる。通販サイトの商品を出品順に並び替えることができるなどなど
(前提)DBに保存された画像をviewに使えるようにする設定
(現在制作中、完成後ここにリンクを貼る)
DBの限り画像を投稿
1)viewに表示させる場所をつくる
<1>画像を投稿するということは、DBに画像があるということをどう表現するか
<2>複数の画像を投稿と命令するにはどう表現するのか
<3>今回は最初に投稿したものをメインに表示させるように命令してみる
<1>DBのデータは配列で保存される=配列になってない真っ白なDBを表現する方法。。。中身がない=lengthがない。
<% if @テーブル名.length !=0 %>
<2>@テーブル名.each do |テーブル名|のeach doで指定した@テーブル内の各々のデータを使用してくださいとなる。
<3>配列の中身を順番に数えるとき最初は1からではなく0から!
<%= image_tag(テーブル名.image[0] %>
2)DB内に画像がある場合とない場合の表示の仕方を設定
<1>・DB内に画像がない場合の表現する方法→画像を投稿していない→存在していない=presentの有無
<2>presentのあとに"?"をつけることでfalseの場合の処理ができる。
<%= if テーブル名.投稿機能のために作ったモデル.present? %>
<div class= 'no-image'>
<span>投稿されてないよー</span>
</div>
<% end %>
最後に
記事を一気に書くより、段階を分けて書いたほうが気が楽ということがわかったので、まずは段階的に記事を書いてLGTMをもらったり、自分でこれはわかりやすいとおもう!となったら記事をまとめて投稿しようと思った。一気に完璧を求めるより、作成して修正して完璧に近い記事にすればいいと思った!
ココまで読んでくださいましてありがとう!☺