【Rails】Webサーバー「Unicorn」の基本情報と実装方法

# はじめに Railsアプリを本番環境で稼働させるには、クライアントからのリクエストを捌くWebサーバーを導入する必要があります。WebサーバーはクライアントからのリクエストをRailsアプリに伝達し、Railsアプリで処理されたレスポンスをクライアントに返すという役割を担います。 本記事では、W [...]

【Rails】デプロイツール「Capistrano」の基本情報と実装方法

# はじめに アプリを本番環境にアップロードして誰でもアクセスできる状態にすることをデプロイと言います。デプロイで行うべきことは多岐にわたります。Railsアプリの場合で言えば、本番環境にアップロードすることはもちろんですが、Gemのインストールやマイグレーション、SprocketsやWebpackerの [...]

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

# はじめに Rails 6からWebpackerが正式採用されました。Rails 5ではオプションで追加することができたWebpackerですが、Rails 6からは普通にアプリを作成するだけでWebpackerがインストールされ、必要な設定もすべて行われるのですぐにWebpackerを使い始められるよ [...]

【Rails】アセットパイプライン(Sprockets)の基本情報と実装方法

# はじめに Ruby on Railsにはアセットパイプラインという機能があります。アセットパイプラインは画像、CSS、JavaScriptといったアセットファイルを連結/圧縮することでRailsアプリを高速化します。また、より高級な言語で書かれたCSSやJavaScriptをコンパイルする機能も備えて [...]

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

# はじめに Ruby on Railsにはページの遷移を高速化するTurbolinksという機能があります。Turbolinksは優れたJavaScriptライブラリですが、Rails 5からは標準で有効化されているため、Turbolinksを使っているということすら知らずにRailsアプリを作成してい [...]

【Rails】UIkit - HTML editorを使って簡単にマークダウンエディターを実装

2021年4月10日 23:29
# はじめに Ruby on RailsではAction Textという機能を使うことで簡単にリッチテキストエディターを実装することができます。 <iframe class="hatenablogcard" style="width:100%; height:155px; max-width:680 [...]

【CSS】CSSだけでMarkdownのコードにファイル名をつける

2021年4月7日 17:24
# はじめに Markdownのコードに、そのコードがどのファイルのものなのかを示すためにファイル名が書いてあるとわかりやすいです。以下はQiitaの記事でコードを書いたときの一例です。 <img data-src="https://i.imgur.com/xO6MLjc.png" class="l [...]

【Rails】ページネーション「kaminari」で用意されているテーマ一覧とスタイルのカスタマイズ

2021年4月6日 12:08
# はじめに Railsアプリにページネーションを簡単に実装できる`kaminari`というGemには、BootstrapなどのCSSフレームワークのテーマ(テンプレートファイル)が用意されています。わざわざCSSフレームワークのクラスを手動で付与しなくても、専用コマンドを実行するだけで各テーマのテンプレ [...]

【Rails】Rails + microCMSで簡単にブログを作成

2021年4月5日 23:00
# はじめに 以前、HeadlessCMSのContentfulというWebサービスを使って簡単にブログを作成する方法について説明しました。今回は、日本製のHeadlessCMSであるmicroCMSを使って簡単にブログを作成する方法について説明します。 Contentfulを使って簡単にブログを作 [...]

【Rails】テンプレートエンジン「Slim」を使用する前に覚えておくべきこと

2021年4月1日 13:53
# はじめに Ruby on Railsのデフォルトのテンプレートエンジンは「ERB (Embedded Ruby)」です。ERBは通常のHTMLにRubyコードを埋め込むためのテンプレートエンジンです。しかし、RailsがサポートしているテンプレートエンジンはERBだけではありません。「Slim」は、そ [...]