【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 [...]

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

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

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

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

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

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

【Rails】Railsアプリで「logmon」を使ってログ監視を行う

2021年3月7日 17:59
# はじめに エラーが起こってからログファイルを確認していたのではどうしても初動対応が遅れてしまいます。定期的に手動でログファイルを確認するにしてもすぐにエラーに気付けるとは限りませんし、何より毎回手動で確認するのは大変です。 定期的に自動でログファイルを監視し、エラーが起こったときにメールで通知す [...]

【GCP】Google Cloudの無料プログラム「Always Free」でCloud Storageを使う

2021年3月5日 21:44
# はじめに Googleが提供するGoogle Cloud Platform (GCP)には2種類の無料プログラムがあります。ひとつはトライアル期間中に利用できる$300分のクレジット、もうひとつは使用量上限の範囲内であれば無料で利用できる「Always Free」と呼ばれるプログラムです。 <i [...]

【Rails】Railsアプリのログローテーション設定を行う

2021年3月4日 16:55
# はじめに Railsアプリのログは、初期設定だとひとつのファイルに出力し続けるようになっています。また、古いログが削除されずに延々と蓄積されていくことになるので、そのままにしておくとログが肥大化してディスク領域を圧迫してしまいます。 ```bash $ ls -lh /var/www/auto [...]