Repolode
norman

norman/friendly_id

Active Record 모델을 숫자 ID 대신 이름 같은 문자열로 찾을 수 있도록 읽기 쉬운 slug를 생성하는 Ruby gem입니다.

스타
6,222
포크
591
열린 이슈
33
마지막 커밋
3개월 전

어떤 프로젝트인가요?

FriendlyId는 모델 속성에서 사람이 읽기 쉬운 URL slug를 만드는 Active Record용 Ruby gem입니다. 이를 사용하면 숫자 기본 키를 쓰는 `/states/4323454` 같은 URL 대신 `/states/washington`처럼 표시할 수 있으며, 모델의 `find` 메서드는 두 형식 모두 지원합니다.

사용하려면 테이블에 slug 컬럼을 추가하고, 모델에서 `friendly_id`로 slug를 생성할 속성을 선언한 다음 컨트롤러의 `Model.find`를 `Model.friendly.find`로 바꾸면 됩니다. 이 gem은 설정 파일과 마이그레이션을 위한 generator도 제공하며, `allow_nil`을 전달해 `RecordNotFound`가 발생하지 않도록 하는 옵션도 제공합니다.

이 프로젝트는 slug 기록 및 버전 관리, i18n, 범위 지정 slug, 예약어, 사용자 지정 slug generator 등 더 고급 요구 사항도 지원합니다. MIT 라이선스이며 gem 5.x 버전까지 Rails 4.0 이상을 대상으로 합니다.

핵심 기능

  • 01모델 속성에서 slug를 생성해 전용 컬럼에 저장합니다.
  • 02`find`에서 slug와 숫자 기본 키를 모두 사용할 수 있습니다.
  • 03slug 기록을 보관해 이전 URL도 계속 연결되도록 합니다.
  • 04범위 지정 slug, 예약어, 사용자 지정 slug generator를 지원합니다.
  • 05slug에 대한 i18n 지원을 포함합니다.

활용 사례

  • ID 대신 제품명, 사용자명 또는 글 제목이 URL에 표시되는 Rails 페이지를 만듭니다.
  • slug 기록을 사용해 레코드 제목이 바뀐 뒤에도 기존 링크를 유지합니다.
  • 이미 레코드가 있는 기존 Rails 애플리케이션에 읽기 쉬운 permalink를 추가합니다.

빠른 시작

  1. 1

    Gemfile에 gem을 추가하세요

  2. 2

    의존성을 설치하세요

    bundle install
  3. 3

    FriendlyId 설정 파일과 마이그레이션을 생성하세요

    rails generate friendly_id
  4. 4

    마이그레이션을 실행하세요

    rails db:migrate

사용 전 알아둘 점

  • Ruby on Rails 및 Active Record 모델에서만 작동합니다.
  • FriendlyId를 추가한 후 기존 레코드의 슬러그를 수동으로 생성해야 합니다.

토픽

#ruby#rails#active-record#slug#friendly-url#permalink#plugin

자주 묻는 질문

friendly_id은(는) 무엇인가요?
Active Record 모델을 숫자 ID 대신 이름 같은 문자열로 찾을 수 있도록 읽기 쉬운 slug를 생성하는 Ruby gem입니다. FriendlyId는 모델 속성에서 사람이 읽기 쉬운 URL slug를 만드는 Active Record용 Ruby gem입니다. 이를 사용하면 숫자 기본 키를 쓰는 `/states/4323454` 같은 URL 대신 `/states/washington`처럼 표시할 수 있으며, 모델의 `find` 메서드는 두 형식 모두 지원합니다.
friendly_id은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
friendly_id은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
friendly_id은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. friendly_id의 마지막 커밋은 2026년 8월 18일입니다.
friendly_id은(는) 어디에 사용할 수 있나요?
ID 대신 제품명, 사용자명 또는 글 제목이 URL에 표시되는 Rails 페이지를 만듭니다. slug 기록을 사용해 레코드 제목이 바뀐 뒤에도 기존 링크를 유지합니다. 이미 레코드가 있는 기존 Rails 애플리케이션에 읽기 쉬운 permalink를 추가합니다.
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 통계는 매일 갱신됩니다.

관련 프로젝트

Rails, Sinatra 등 다양한 프레임워크에서 offset, keyset, 검색 및 달력 페이지네이션을 지원하는 순수 Ruby용 프레임워크 독립형 라이브러리입니다.

5천447RubyMIT활발히 관리됨업데이트 그저께