20210125_アウトプット(オリジナルアプリ「励まし」の部分/OGP)

アウトプット画像

今日行ったこと  4時間40分
  • 昨日の復習(アウトプット)…1時間15分

  • オリジナルアプリ(励ましの部分)…2時間25分
    👉上手く行かない😣

  • Open Graph Protcolの実装…1時間
    👉記入はできた!反映されているか確認は未。

  • アプリのデプロイ
    👉ビュー大きく崩れてたことに気づけた😇



新しい発見

セルフコンパッション(励ましの部分)

結論は、実装できなかった。 今日チャレンジしていたことを覚書で書いておく。

実装しようとしていた内容

  • 「悩み」と「励まし」の部分について、それぞれ入力する回数も異なるし、タイミングも異なるため、テーブルを別にしようと思った。

  • テーブルを別にするために、新しいコントローラー(ルーティング)とモデルを作成。

  • 2つのコントローラーとも、ビューは「悩み」の部分にある。

仮説

こうすれば実装できるのでは?と考えていたこと。

  • 「悩み」に対して「励まし」が紐づくので、アソシエーションを組む。

  • mergeメソッドでストロングパラメーターで運べるようにする。

  • @trouble = Trouble.find(params[:trouble_id])と定義して、他のコントローラーのインスタンス変数を使えるようにする。

実証

NoMethodError (undefined method `permit' for "あ":String)

上記のエラーになってしまう。

  • encouragement_params(ストロングパラメータ)が定義できていない。その結果createできない。

  • binding.pryを書いても引っ掛からない。ストロングパラメーターで運ぶ以前のビューで入力した時点で上手く行っていない感じがする。

👉コントローラー名とビューファイル名が一致していないがゆえに、そこが上手く運べていない原因かもと思った。
部分テンプレートを使って、「励まし」部分のコントローラー名と一致するビューファイルを作成して、「悩み」部分でrenderするもエラー。


👉ストロングパラメーターが上手く定義されていないのかもと思い、mergepermitあたりを編集してみるもエラー。でもここ直すにはどの部分が二次元ハッシュになっているかbinding.pryで確認しないと意味ない気がする。多分ここ以前の問題?

そこのような形で30分くらいで実装したあと、2時間くらいはエラー解消できないかちょこちょこ試していたが上手く行かなかった。うーん。



Open Graph Protcolについて

知れた経緯

  • 銭神さんのツイッターがきっかけで、VercelOGPという新しい単語を知ることができた😍

  • Vercelは静的サイトのデプロイにおすすめの方法。

  • OGPは、SNSでシェアした時に、画像や必要な情報をわかりやすく表示できる仕組みと理解。

  • 今まで「はてなブログ」では簡単に画像付きで共有できるので意識したことがなかった。

  • 反対に言えば、今までのほとんどのサイト、画像ついていた。皆SEO対策バッチリってこと?!(すごい)

  • OGPの方は今の実装で、すぐチャレンジできそうだったのでやってみようと思った😍

  • gemを使う方法とmetaタグに直接記入する方法があると知る。後者の方がお試しで出来そうだったのでそちらを選択。

今日やってみたこと

(1)このサイトを中心に書けるところを書く
kaikoku.blam.co.jp

(2)このサイトから画像サイズ「600×314」と理解しアイコン作成
afila0.com

という形で行ってみた。

気づいたこと

  • URLが必要なので、デプロイした。しかし、現在、セルフコンパッションの励ましでブランチを切っているのですぐに確認できないのだった😂 (ブランチをぐちゃぐちゃにしたくない、という気持ちがある・・もう少し「励まし」の実装にトライしてみよう)

  • デプロイしたら、ビューが大きく崩れていたこと😅早めに気づけてよかった。

感想

  • 「励み」の部分について、エラーか〜(悔しい)こうすれば実装できるのではと以前より練っていたが思うように上手く行かず。

  • 何かしら、1つのビューで2つのコントローラー(JavaScript)のデータを保存できる方法があるはず。

  • Formオブジェクトは、複数のコントローラーの内容を同時にデータベースに保存する方法と理解しているけれど、今回のような異なるタイミングで保存したいフォームにも適用できるのかな?😥

  • 実装が上手く行かなくて思考停止してきたため楽しそうなOGPの実装を行った。

  • 前に進む感覚を持ちつつ楽しめるものは一気に集中できる。OGPのおかげで集中力が取り戻せたのがよかった。

  • 好奇心を大事に実装し続けるって大事だな。



覚書(12/29計画の見直し)

(1)やるべきこと (2)やりたいこと (3)やれること

(1)やるべきこと

  • 卒業要件の完成

(2)やりたいこと

(3)やれること

メンタル:楽しみながら、ゲーム感覚でいく🎮😎

時間で区切り(達成すればよし)
  • 1日 15分以上勉強する
追加実装のミニアプリを作り、引き出しを増やす
優先順位 内容(機能) 締め切り 達成度
1 AWS S3 12/18 完了(フリマアプリ)に実装)
2 AWS EC2 12/24 完了(フリマアプリに実装)
3 ウィザード形式 12/27 完了
4 SNS認証 12/28 完了
5 複数条件検索 12/29 完了
6 タグ付 12/31 完了
7 画像プレビュー 1/2 完了※フォーク
8 複数枚写真OK 1/4 完了※7に追加実装
9 コメント機能(即時更新) 1/8 完了
10 クレカ登録 1/10
11 パンくず 1/14 完了
12 日本語エラー 1/18



身に付ける力(直近)

  • PHP7

  • Docker


身に付ける力(ゆくゆく・覚書)

  • ドメイン駆動開発

  • 環境構築

  • 環境変数などのOS知識

  • バージョン対応力

  • データベースをインポートする力・エクスポートする

  • GitHubActions×OpenAPIGenerator(APICilent)