kobasaです(´ω`*)
指摘されたコードの修正をして、購入機能を完了できました!
忘れずにherokuに環境変数を設定してpush!
すると商品出品時にエラー…herokuでdb:migrateを実行してませんでしたw
そういえば新しくテーブル作ったんだった。
ブラウザに表示されるエラーはだいぶ見慣れてきましたが、
ログを見てエラーを確認する作業はまだまだ慣れません。文字の量に圧倒されます。
そのあとはAWSのS3を導入、終了報告をして終了。
これで問題がなければ最終課題完成になります!
97日目のまとめ
条件式をまとめる
修正依頼を受けた部分なのですが、
「こういう風に条件分岐をまとめると可読性が高まりますよ」
と提示された記述が非常にスッキリしていて感動していました。

変更前は編集・削除ボタンの表示と購入ボタンの表示が分かれています。
また、if文の条件式の記述が被っており、elsifの条件式の記述も
「一致する」か「一致しない」の違いだけで後は同じです。
あと「ifの条件に当てはまったら表示しない」というのもダメだと思います。

変更後は最初のif文で条件が重複していた部分をまとめています。
ログイン状態かつ「商品に紐づいた購入が存在していなければ(購入済でなければ)」ボタンが表示されます。
上記の前提条件をクリアして出品者とログインユーザーが同じなら、編集・削除ボタンを表示。
異なっていれば購入ボタンを表示する記述になっています。
重複した記述がなく、まとまっていますね!
if文のネストは避けた方がいいのかと思っていましたが、複雑で見辛いわけでもないのでOK!
これがリファクタリングですかね(´ω`*)まとめ力、大事ですね!
AWSのS3を導入
投稿された画像をAWSのS3というサービスに保存するように設定します。
これでherokuを使用したサイトの画像の表示切れを防げます。
AWSは日本語表示にできるので何書いてるかわからん(´・ω・`)
ってことにはならないんですが扱っているサービスの量が膨大で、
余計な部分をさわるとお金が発生するかもしれない所が怖いですね。
カリキュラムに沿って必要最低限のことと、セキュリティー対策をして終了。
使いこなすにはかなりの時間がかかるんだろうなぁ。
コメント