takumiblog

新人エンジニアの技術ブログ

Ruby on Rails

Trailblazerって何?

Trailblazerとは? 複雑なアプリケーションでもシンプルなアーキテクチャで実装することができるようになるやつ。 アプリケーションが複雑・大規模になるにつれて、modelやcontrollerが肥大化して、扱いづらくメンテナンスもしづらくなってしまうから、それ…

N+1問題が本当に解消されているのか確認して見た

はじめに ポートフォリオをアップしたところ、処理が遅いことに気づきました。 そこで少しでも負担を軽減できないかと考え、N+1問題の対策をしてみたのですが、あまり処理速度が変わらずほんとに対策できているのか気になったので、その確認のメモとして残し…

ゲストログイン機能追加

はじめに ポートフォリオサイトにゲストログイン機能を追加したのでその学習メモとして残していきます。 ルーティング resources :guest_sessions, only: [:create] guest_sessions_pathで取得できる。onlyでcreateのみに指定している。 コントローラ def cr…

uniqueness: { scope: :〇〇 }について検証してみた

はじめに railsを学習していく中でscopeを使用したユニーク制約がいまいち理解できなかったのでまとめてみました。 uniqueness: true uniqueness: trueは、至ってわかりやすく重複していないことを検証するバリデーションになります。 uniqueness: { scope: …

herokuで画像が表示されない(AWS,S3の導入手順)

この記事について ポートフォリオをherokuでデプロイした所、画像が表示されませんでした。 どうやらherokuでは無料版の容量は限られているため、外部ストレージのS3を使用することにしましたので、そのメモとして書いていきます。 Ruby on RailsのCarrierWa…

保存が失敗した時のデバック方法

この記事について ユーザー情報などの保存がうまくいかない時に、何が原因か調査することのできる方法についてまとめていきます。 他にも方法がある場合、コメントしていただけると嬉しいです! 設定 調査の仕方について具体例を用いながら解説していきます…

編集機能が失敗してしまう原因(バリデーションについて)

はじめに ユーザー情報の編集機能を実装する際に、つまづいたエラーについてまとめていきたいと思います。 開発環境 MacOS 10.15.7 Rails 6.1.3 今回はdeviceのgemは使用していません。 コード edit.html.erb <%= form_tag("/users/#{@user.id}/update",{mul…