【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を不正利用(ただ乗り)されてしまったという事例もあります。 [...]

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

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

【Rails】Rails + Contentfulで簡単にブログを実装

# はじめに Railsで記事の作成/編集/削除を行うブログを実装することは簡単です。以下のように`scaffold`コマンドを実行するだけで、ブログに必要なコントローラー、モデル、マイグレーション、ビュー、ルーティングが作成されます。 ``` $ rails generate scaffold [...]

【Rails】ブログに記事の下書き保存機能を実装する

2021年3月25日 23:03
# はじめに Railsアプリで作成したブログで記事を途中保存したいときがあります。保存はしたいのですが、書いている途中の記事を一般公開するわけにはいきません。記事を一般公開はせずに保存しておく下書き機能があると便利です。 本記事では、ブログの記事を下書き保存する機能を実装する方法について説明します [...]

【Rails】お問い合わせメールやコメントで英語のスパム対策を行う

2021年3月12日 13:36
# はじめに Railsアプリでコンタクトフォームやブログのコメント機能を実装している場合、英語のスパムメールやスパムコメントが送信されてくることがあります。何も対策をしていないと結構な頻度で送信されてくるので困っているという方も多いかと思います。 本記事では、英語のスパムメールやスパムコメントを抑 [...]

【Rails】「mailcatcher」を使ってテストメールを送信/受信する

2021年3月12日 12:36
# はじめに Railsアプリでコンタクトフォームなどを自作している場合、開発段階でメールが送信されることを確認する必要があります。開発段階のテストのため、実際のメールサーバーを使うことや、実際のメールクライアントにテストメールが残ることを避けたいという場合があります。 本記事では、`mailcat [...]

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

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