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

はじめに
Ruby on RailsではAction Textという機能を使うことで簡単にリッチテキストエディターを実装することができます。
<iframe class="hatenablogcard" style="width:100%; height:155px; max-width:680px;" tit ...
【CSS】CSSだけでMarkdownのコードにファイル名をつける

はじめに
Markdownのコードに、そのコードがどのファイルのものなのかを示すためにファイル名が書いてあるとわかりやすいです。以下はQiitaの記事でコードを書いたときの一例です。
<img data-src="https://i.imgur.com/xO6MLjc.png" class="lazyload ...
【Rails】ページネーション「kaminari」で用意されているテーマ一覧とスタイルのカスタマイズ

はじめに
Railsアプリにページネーションを簡単に実装できるkaminariというGemには、BootstrapなどのCSSフレームワークのテーマ(テンプレートファイル)が用意されています。わざわざCSSフレームワークのクラスを手動で付与しなくても、専用コマンドを実行するだけで各テーマのテンプレートファイルを ...
【Rails】Rails + microCMSで簡単にブログを作成

はじめに
以前、HeadlessCMSのContentfulというWebサービスを使って簡単にブログを作成する方法について説明しました。今回は、日本製のHeadlessCMSであるmicroCMSを使って簡単にブログを作成する方法について説明します。
Contentfulを使って簡単にブログを作成する方法や、「 ...
【Rails】テンプレートエンジン「Slim」を使用する前に覚えておくべきこと

はじめに
Ruby on Railsのデフォルトのテンプレートエンジンは「ERB (Embedded Ruby)」です。ERBは通常のHTMLにRubyコードを埋め込むためのテンプレートエンジンです。しかし、RailsがサポートしているテンプレートエンジンはERBだけではありません。「Slim」は、その名の通り ...
【Rails】Railsアプリにオリジナルのエラーページ(404/500)を実装

はじめに
Railsアプリを新規作成した時点では、404 Not Foundのエラーページは以下のようになっています。
<img data-src="https://i.imgur.com/Yxq2tNm.png" class="lazyload effect-fade">
エラーが出ているということは伝わりま ...
【Rails】Action Mailerの基本情報と実装方法

はじめに
コンタクトフォームからお問い合わせ内容を送信したり、ブログに新着コメントがあったことを知らせる内容を送信したり、Railsアプリでメールを送信する必要のある場面は多いです。ActionMailerという機能を使えば簡単にメール送信機能が実装できます。ビューと同じようにレイアウトやテンプレートなども使え ...
【Rails】Active Storageの基本情報と実装方法

はじめに
Rails 5.1までは、画像などをアップロードするにはCarrierWaveなどのGemを使う必要がありました。Rails 5.2からActiveStorageという機能が追加され、別途Gemをインストールしなくても組み込みの機能だけで画像などをアップロードできるようになりました。
本記事では、Ac ...
【Rails】Active Record(モデル)の書き方《バリデーション篇》

はじめに
ActiveRecord(モデル)のバリデーション設定を行うことで、実際にデータが保存される前に不適合データを弾くことができます。ほとんどのデータベースはカラムに制約を設定することができますが、Railsアプリのモデルでバリデーションを行えば、Railsアプリとデータベース間の無駄なやり取りを減らすこ ...
【Rails】Active Record(モデル)の書き方《基本篇》

はじめに
ActiveRecord(モデル)は、MVCモデルのMに相当します。モデルはRailsアプリとデータベースの橋渡し役を担います。データベースの種類(MySQL、MariaDB、PostgreSQL、SQLite)にかかわらず、統一的なインターフェースでデータの操作(取得、作成、更新、削除)を行うことが ...

坂井 光太郎 / Sakai Kotaro
Ruby on Rails を中心とした Web アプリ開発全般に関する技術情報をまとめています。業務に関するご依頼・ご相談、当サイトに対するご感想やメッセージはコンタクトフォームからお気軽にお問い合わせください。