Node.jsなどのJSプラットフォームで使えるTypeScript/JavaScript向けORM。多くのSQL・NoSQLデータベースに対応し、Active RecordとData Mapperの両パターンをサポートします。
norman/friendly_id
Active Record向けのRuby gem。モデルを数値IDではなく名前のような読みやすい文字列で検索できるslugを生成します。
- スター
- 6,222
- フォーク
- 591
- 未解決の Issue
- 33
- 最終コミット
- 3 か月前
これは何?
FriendlyIdは、モデルの属性から人が読みやすいURL slugを生成するActive Record向けのRuby gemです。たとえば、数値の主キーを使う /states/4323454 の代わりに /states/washington のようなURLを使えるようになり、モデルのfindメソッドはどちらの形式でも受け付けます。
利用するには、テーブルにslugカラムを追加し、モデルでfriendly_idを使ってslugの元にする属性を指定して、コントローラーのModel.findをModel.friendly.findに切り替えます。また、設定ファイルやマイグレーションを生成するジェネレーターも用意されており、allow_nilを渡せばRecordNotFoundの発生を抑止できます。
slugの履歴やバージョン管理、i18n、スコープ付きslug、予約語、カスタムslugジェネレーターなど、より高度なニーズにも対応しています。MITライセンスで、gemのバージョン5.xではRails 4.0以降を対象としています。
主な機能
- 01モデルの属性からslugを生成し、専用カラムに保存します。
- 02findでslugと数値の主キーのどちらも指定できます。
- 03slugの履歴を保持し、古いURLでも引き続きアクセスできるようにします。
- 04スコープ付きslug、予約語、カスタムslugジェネレーターに対応しています。
- 05slugのi18nに対応しています。
ユースケース
- IDの代わりに商品名、ユーザー名、記事名をURLに表示するRailsページの構築。
- slugの履歴を利用し、レコードのタイトル変更後も古いリンクを維持する。
- 既存のレコードがあるRailsアプリケーションに、読みやすいパーマリンクを追加する。
クイックスタート
- 1
Gemfile に gem を追加する
- 2
依存関係をインストールする
bundle install - 3
FriendlyId の設定ファイルとマイグレーションを生成する
rails generate friendly_id - 4
マイグレーションを実行する
rails db:migrate
使う前に知っておきたいこと
- Ruby on Rails と Active Record モデルでのみ動作します。
- FriendlyId を追加した後、既存のレコードのスラッグは手動で生成する必要があります。
トピック
よくある質問
- friendly_id とは?
- Active Record向けのRuby gem。モデルを数値IDではなく名前のような読みやすい文字列で検索できるslugを生成します。 FriendlyIdは、モデルの属性から人が読みやすいURL slugを生成するActive Record向けのRuby gemです。たとえば、数値の主キーを使う /states/4323454 の代わりに /states/washington のようなURLを使えるようになり、モデルのfindメソッドはどちらの形式でも受け付けます。
- friendly_id は無料で使えますか?ライセンスは?
- friendly_id は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- friendly_id は今もメンテナンスされていますか?
- 半年以内に更新あり。friendly_id の最終コミットは 2026年8月18日 です。
- friendly_id は何に使えますか?
- IDの代わりに商品名、ユーザー名、記事名をURLに表示するRailsページの構築。 slugの履歴を利用し、レコードのタイトル変更後も古いリンクを維持する。 既存のレコードがあるRailsアプリケーションに、読みやすいパーマリンクを追加する。
- friendly_id のインストール方法は?
- Gemfile に gem を追加する 依存関係をインストールする: bundle install FriendlyId の設定ファイルとマイグレーションを生成する: rails generate friendly_id マイグレーションを実行する: rails db:migrate
- friendly_id はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/norman/friendly_id
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Ruby on Railsは、Rubyでデータベース連携型Webアプリケーションを構築するためのフルスタックMVCフレームワークです。
ElasticsearchまたはOpenSearchを使って、Active RecordやMongoidのモデルに高機能な全文検索を追加するRuby on Rails向けライブラリ。
オンラインストアを自分で構築し、完全に管理したい開発者向けの、Ruby on Rails製オープンソースeコマースフレームワーク。
Rails、Sinatraなどの各種フレームワークで、OFFSET、KEYSET、検索、カレンダー方式のページネーションに対応する、プレーンなRuby向けの汎用ライブラリ。
Stripe、Paddle、Braintree、Lemon Squeezyに対応し、顧客、サブスクリプション、決済、支払い方法を追加できるRuby on Rails向け決済エンジンです。