2019年のGW期間(10日間)を全て費やして取り組むポートフォリオの製作過程を取りまとめた内容を投稿させて頂きます。(投稿は毎日行う予定)全体通した取り組みの詳細については、前回までの記事をご参照ください。今日一日の作業内容ここからは、今日1日で取り組んだ作業内容をご説明します。先日実装したCKEditorで、画像を利用した編集が出来る様に画像アップロード機能を実装しました。画像アップロードについてはshrineをベースに下記のgemを導入しています。'mini_magick'最終的に出来上がったものが、こちらです。'shrine'は初めて利用したという事もあり、かなり苦労しました。その辺りのエピソードは、「今日の失敗」にてご紹介します。テストコードの記述テストについては、単体テスト(モデル・コントローラー)と統合テストの両方を書いて行きます。テストには、Rspecを利用しています。rspec:installまだ全てのテストを描ききれていませんが、参考にPostモデルのテストコードを掲載しておきます。endendまだまだ触り程度ですが、やっぱりテストコードはいいですね!!ゲームみたいで書いていて楽しいです!!!!今日の失敗ここからは今日の失敗をまとめて行きます。一通りコードを書いて、実際にアップロードを試そうとすると、下記の様なエラーが発生しました。ターミナルを見てみると、下記の様な処理結果が出ていました。0.0ms)401エラーは認証に失敗している事を表しますが、慌ててページを更新すると、ログイン状態が解除されていました。いえば、初期データを投入し直した(bin/setup)ので、その時にログインが解除されていたのですが、ページを更新していなかったので、それに気づかなかったという間抜けなエラーです・・・image_processingの導入漏れ次にログインしてアップロードを試しましたが、同じ動きになりました。再度ターミナルを見ると、下記の様なエラーでした。`create'また、gemの導入漏れです・・・何回やったら気が済むのでしょう・・・imageableの追加漏れ次に発生したエラーは下記の内容です。ちなみにエラーが発生した箇所は、下記のコントローラーのimage.saveです。endend今回、Imageテーブルは、Postの画像以外にも、Userのアイコンなどでも利用する可能性がある事から、ポリモーフィック関連付けを使用しています。生成したImageインスタンスには、imageable_typeとimageable_idのデータを持たせる必要があるのですが、pryで生成されたインスタンスの中身を確認してみるとnilになっていました。本来はPostDescriptionの情報を持たせるべきなのでしょうが、新しく記事を投稿する際など、idが確定していない状態で、どの様に紐づければ良いのか、判断が付きませんでした・・・なので、一旦current_userの情報を持たせることにしました。image.save(中略)とりあえずUserのアイコンは、現時点で実装の予定は無いので、一先ずはこれで動作する状態に持って行きたいと考えています。下記の通り、新しく編集ページを開くと、CKEditorが表示されず、再読み込みを行うと表示されるというバグが発生しました。コンソールのエラーを確認すると、どうやらTurbolinksが干渉している様でした。Turbolinksは外しています。見積もりスキルをきちんと伸ばしたいですね。requestStockLike5りょうたく@ryoutaku恵比寿のITベンチャーで、主にバックエンド(Ruby・Rails・AWS)の開発を担当しているWEBエンジニア。IBMのWatsonきっかけで、エンジニアに憧れて28歳未経験で転職。今は機械学習やアーキテクチャに注力中。技術ブログやQiitaを書いたりしてます。趣味:ダイビング/ボルダリング/競プロhttps://ryoutaku-jo.hatenablog.com/Follow株式会社Relic日本企業の新規事業開発やイノベーション創出を支援する事業を展開しています。自社サービスでは、クラウドファンディングPF「ENjiNE」、MA・CRMプラットフォーム「Booster」、イノベーションマネジメントプラットフォーム「Throttle」があります。