【Rails】Railsアプリにオリジナルのエラーページ(404/500)を実装

2021年3月31日 16:40
# はじめに Railsアプリを新規作成した時点では、`404 Not Found`のエラーページは以下のようになっています。 <img data-src="https://i.imgur.com/Yxq2tNm.png" class="lazyload effect-fade"> エラーが出 [...]

【Rails】Action Mailerの基本情報と実装方法

# はじめに コンタクトフォームからお問い合わせ内容を送信したり、ブログに新着コメントがあったことを知らせる内容を送信したり、Railsアプリでメールを送信する必要のある場面は多いです。ActionMailerという機能を使えば簡単にメール送信機能が実装できます。ビューと同じようにレイアウトやテンプレート [...]

【Rails】Active Storageの基本情報と実装方法

# はじめに Rails 5.1までは、画像などをアップロードするには`CarrierWave`などのGemを使う必要がありました。Rails 5.2からActiveStorageという機能が追加され、別途Gemをインストールしなくても組み込みの機能だけで画像などをアップロードできるようになりました。 [...]

【Rails】Active Record(モデル)の書き方《バリデーション篇》

2021年4月16日 13:14
# はじめに ActiveRecord(モデル)のバリデーション設定を行うことで、実際にデータが保存される前に不適合データを弾くことができます。ほとんどのデータベースはカラムに制約を設定することができますが、Railsアプリのモデルでバリデーションを行えば、Railsアプリとデータベース間の無駄なやり取り [...]

【Rails】Active Record(モデル)の書き方《基本篇》

2021年4月16日 13:14
# はじめに ActiveRecord(モデル)は、MVCモデルのMに相当します。モデルはRailsアプリとデータベースの橋渡し役を担います。データベースの種類(MySQL、MariaDB、PostgreSQL、SQLite)にかかわらず、統一的なインターフェースでデータの操作(取得、作成、更新、削除)を [...]

【Rails】Action View(ビュー)の書き方《フォーム篇》

2021年4月16日 13:16
# はじめに ActionView(ビュー)では、一般的なフォームを作成するための豊富なヘルパーメソッドが用意されています。Railsアプリにおいてフォームはなくてはならないものです。ユーザーの目に触れる部分でもあるので、フォームの良し悪しがアプリの評価にも繋がります。 本記事では、ActionVi [...]

【Rails】Action View(ビュー)の書き方《基本篇》

2021年4月16日 13:16
# はじめに ActionView(または単にビュー)は、クライアントに表示するWebページを構築します。モデルのデータをコントローラーから受け取り、それを適切な形で画面上に配置します。ビューでは、ヘッダーやフッターなどの共通部分を部品化してテンプレートに埋め込む機能や、画像などのアセットファイルを呼び出 [...]

【Rails】Action Controller(コントローラー)の書き方

# はじめに ActionController(または単にコントローラー)はMVCモデルのCに相当します。コントローラーはルーティングからリクエストを受け取ると、必要であればモデルと連携してデータベースからデータを取得し、それをビューに渡します。あるいは、ビューから受け取ったデータをモデルに渡し、データベ [...]

【Rails】忘れがちなルーティングの書き方を総復習

# はじめに Railsのルーティングは、受け取ったURLを解析し、適切なコントローラーのメソッドに処理を移譲する役目を担います。ルーティングはMVCモデルの各機能と並んでRailsアプリの基幹機能のひとつだと言えます。 本記事では、Railsのルーティングの書き方についてまとめています。なお、ルー [...]

【Rails】Credentialsを使用した機密情報の保護

# はじめに 外部APIのキー情報やアクセストークンなどの機密情報を外部に漏らしてしまうと悪用される可能性があります。実際、外部APIにアクセスするための機密情報をオンコードで記述し、そのソースコードをGitHubに上げてしまったために、外部APIを不正利用(ただ乗り)されてしまったという事例もあります。 [...]