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

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

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

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

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

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

【Rails】I18nを使用した多言語対応(日本語化)

はじめに Ruby on Railsのデフォルトの言語は英語です。デフォルト言語が英語ということで一番初めに困るのは、エラーメッセージが英語で表示されることでしょう。バリデーションエラーにより表示されたメッセージが英語だと、とてもユーザーフレンドリーなアプリケーション設計とはいえません。 Railsには、このよ ...

【Rails】マイグレーションの書き方《Seed篇》

はじめに Railsには、マイグレーションで作成したデータベーススキーマにテストデータを登録する機能が用意されています。それがSeedと呼ばれるものです。Seedはテストデータを登録する処理をRubyで記述し、コマンドを実行することでデータベースにテストデータを登録することができます。 Seedを使うと、大量の ...

【Rails】マイグレーションの書き方《実行篇》

はじめに ActiveRecordの機能のひとつ、マイグレーションは便利な機能ですが、使い方を間違えるとせっかく作ったデータベースを破壊してしまいかねません。データベースの操作を間違えたときに有用なロールバックも、きちんと手順を守って行わないとマイグレーションの整合性が崩れてしまう可能性があります。 本記事では ...

【Rails】マイグレーションの書き方《作成・編集篇》

はじめに データベースベンダーに依存することなくテーブルの作成やカラムの追加/削除などが行えるマイグレーションというActiveRecordの機能があります。マイグレーションはデータベースのスキーマ変更をバージョンとして管理するので、いつでもスキーマ変更を元に戻したり再実行できたりします。 本記事では、マイグレ ...

【Rails】忘れがちなGemfileの書き方を総復習

はじめに RailsアプリにGemをインストールするときに使うGemfileですが、意外とその詳しい書き方は把握していないという方も多いと思います。例えば、インストールするバージョンを「2.1.2以上でパッチバージョンのみ上げることを許容」などと指定する方法や、ソースとしてGitHubの特定のブランチを指定する ...

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

はじめに Rails 6でAction Textという機能が追加されました。Action Textを使えば簡単にリッチテキストエディターを実装することができます。Action TextはTrixエディターを使用しています。Trixエディターは「WYSIWYG」と呼ばれる編集方式を採用しているエディターです。 W ...