Rails

Kaigi on Rails 2023 に参加してきました!

Kaigi on Rails 2023に2日間参加してきましたー! RubyKaigi 2022に参加して以来のカンファレンスへの参加で、オフラインでの参加は今回が初めてでした。 Kaigi on Railsは今回が初めてのオフライン開催だったので、記念すべき日に立ち会えたことをとても光…

Railsでテストを書く

今回はRailsで自動テスト(モデルテストとシステムテスト)を書く方法を学びました。 Railsのテストはminitest(ほとんどがtest-unitと同じ)がベースになっています。 Rails テスティングガイド なぜテストを書くのか? 品質管理:テストは、アプリケーショ…

Railsアプリにコメント機能を追加

今回は、既存のRailsアプリにコメント機能を追加しました。 ポリモーフィック関連付け(Polymorphic Association)...異なる種類のモデル同士を関連づける方法の一つ。通常、Railsでは、あるモデルと別のモデルを関連付ける際に、外部キー(foreign key)を…

Railsでユーザーフォロー機能を作る

今回は、TwitterやInstagramのようなユーザーのフォロー機能を実装し、多対多のモデルの関連付けを学びました。 ここでは「Ruby on Rails チュートリアル - 第14章 ユーザーをフォローする」を参考に実装しました。 これがまた難しかったのでまとめておきま…

ActiveStorage で画像アップロードを実装

今回はRails5.2から標準搭載のファイルアップローダーであるActiveStorageを使い、画像アップロード機能を実装しましたのでまとめです。 AWS S3などのクラウドストレージへのアップロードも設定で手軽に実装できるとのことですが、今回はクラウドストレージ…

deviseを使用し、ユーザー認証を実装する

Railsで作成したwebアプリケーションに簡単に認証機能(ログイン機能)を実装できるgemである「devise」を使用し、ユーザー認証機能とユーザーページを作成しました。 以下は作成済みの新規アプリケーションがあることが前提です。 学んだこと✏️ 1.devise ge…

kaminari を使ってページング処理を実装

今回はRailsで、以下のようなページング処理(ページネーション)を実装するためにkaminari gemを使用しました。 kaminariはこの処理を簡単にしてくれるrails pluginです。 以下は作成済みの新規アプリケーションがあることが前提です。 学んだこと✏️ 1.kami…

Railsのi18n を理解する(英語、日本語対応)

今回は、Railsにおける国際化(多言語化)を実現するための機能を提供するi18n(internationalization)について学習しました。 Railsでは、i18nを使用することで、アプリケーションで使用されるテキストメッセージやエラーメッセージなどを簡単に多言語対応…