EC2 + Ubuntu + Nginx + Passenger を Let’s Encrypt!

EC2 + Ubuntu + Nginx + Passenger で組んだ Rails アプリ用のサーバを、Let’s Encrypt で HTTPS 化する方法をまとめます。 順調に進めば、15分ぐらいで完了します。 新規サーバのセットアップはこちら: ▶︎ Rails5:EC2 + Ubuntu + Nginx + Passenger でデプロイ 環境 Ruby 2.5.1 rvm 1.29.7 Rails

Rails5:EC2 + Ubuntu + Nginx + Passenger でデプロイ

Amazon Linux + Nginx + Passenger で Rails5 のアプリをデプロイする手順をまとめます。 順調に進めば、1〜2時間ぐらい完了します。 環境 Ruby 2.5.1 rvm 1.29.7 Rails 5.2 AMS EC2 Ubuntu 18.04 LTS 20180814 EC2(Ubuntu)のセットアップ EC2コンソールからインスタンスを作成。 「Ubuntu Server 18.04 LTS」を

rbenv install が「gcc: internal compiler error」でコケる時

環境 CentOS release 6.8 (Final) AWS EC2 背景 Rubyのバージョンを「2.5.1」に更新しようと思い、rbenvを使ってインストールしたところ、次のエラーでコケました。 $ rbenv install 2.5.1 BUILD FAILED (CentOS release 6.8 (Final) using ruby-build 20181225-1-g095d9db) Inspect or clean

jQueryタイマーライブラリ「Countimer」の使い方

やりたいこと Rails アプリで jQuery 使ったタイマーをサクっと導入したい。 jQuery ライブラリ「Countimer」 今回使う jQuery のライブライは「Countimer」。 「Download」より、ソースコードのZipファイルを取得できる。 今回は、その中の「dist/ez.countimer.min.js」を使う。 Rails でのセットアップ 「ez.countimer.min.js」を「app/java

本番環境Passengerで複数のRubyバージョンを扱う

背景 新しくRailsアプリを作って、Webサーバ(CentOS + Apache)のバーチャルホストとしてデプロイすると「We’re sorry, but something went wrong.」のエラーが発生。 Railsのエラー画面っぽいけど、いつもと見た目がちょっと違う。 エラー内容 アパッチのエラーログを確認する。 $ vim /var/log/httpd/error_log Message from appl

Rails・GraphQL基礎 – データ更新 & 認証編

ここでは、Rails での GraphQL の基本的な使い方を整理していきます。 内容は、Udemy『Basics of GraphQL with Ruby on Rails』のセクション3「Changing Data」とセクション4「Authentication, Authorisation, and Access Control」を参考にしています。 詳細はそちらをご参照ください。 Changing Data データを更新する処理は

Rails・GraphQL基礎 – イントロ & クエリ編

ここでは、Rails での GraphQL の基本的な使い方を整理していきます。 内容は、Udemy『Basics of GraphQL with Ruby on Rails』のセクション1「Introduction」とセクション2「Reading Data」を参考にしています。 詳細はそちらをご参照ください。 Introduction GraphQL とは GraphQLは、APIで使われるクエリ言語です。 2012年にFaceboo

Rails – サービス層でURL.encodeがNoMethodErrorになる

背景 Rails で日本語が含まれるURLを扱う場合、日本語部分をエンコードする必要があります。 通常、URI.encode (url) で事足りるはずですが、サービス層で利用した時に次のエラーが出ました。 class ServiceObject def execute url = ‘https://example.com/日本語’ URI.encode(url) # ここでエラー! # 以下、処理が続く end end NoMetho

Rails – RansackでOR条件グループを適用させる

やりたいこと Ransackの検索条件の一部にOR条件グループを作りたい。 例えば、以下のようなテーブル構成の場合、 テーブル名 カラム名 a_tables price fee b_tables cost a_table_id Ransack の検索条件の一部として、次のようなOR条件を適用させたい: a_tables の 「price」 が入力されており、かつ a_tables の 「fee」 または b_tables の「cost」

Rails – 特定の条件でモデルのコールバックをスキップ

スキップさせたいコールバックアクション before_save や after_save など、モデルのコールバックアクションを 「あるアクションで保存する時は処理をスキップさせたい!」 と思うことがあります。 次の do_something を特定の文脈でのみ走らせたい!というような時です。 # Model class User before_save :do_something def do_something # 特定の文脈でのみ